Работа с документами Word в C#
Добавлено: 16 июн 2014, 19:03
Доброго времени суток. Столкнулся с такой проблемой: нужно реализовать работу с документами Word в C#. По факту так происходит: наживаю на Button1 и через openfiledialog выбираю нужный мне документ и он прикрепляется к записи из БД. При нажатии на button2 автоматически открывается документ. Так вот, собственно проблема - на моей машине все работает замечательно. На машине заказчика при прикреплении документа программа вылетает. Причем ни эксепшена, ничего - просто "программ выполнила недопустимую операцию и будет закрыта" (как-то так).
Открытие документа работает нормально. Вот кусок кода, ответственный за прикрепление документа:
try...catch ничего не выдает. программа просто терминируется без всяких ексепшенов. Помогите пожалуйста!
Открытие документа работает нормально. Вот кусок кода, ответственный за прикрепление документа:
Код: Выделить всё
if (dataGridView1.CurrentRow == null)
MessageBox.Show("Выберите бойца!", "Ошибка", MessageBoxButtons.OK);
else
{
app = new Microsoft.Office.Interop.Word.Application();
doc = null;
string tmp = dataGridView1.CurrentRow.Cells[1].Value.ToString() + dataGridView1.CurrentRow.Cells[2].Value.ToString();
OpenFileDialog op = new OpenFileDialog();
object fileName;
if (op.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
fileName = op.FileName;
object falseValue = false;
object trueValue = true;
object missing = Type.Missing;
doc = app.Documents.Open(ref fileName, ref missing, ref trueValue,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing);
DirectoryInfo dir = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + tmp + @"\");
dir.Create();
string save = AppDomain.CurrentDomain.BaseDirectory + tmp + @"\" + "резюме.doc";
doc.SaveAs2(save, Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
doc.Close();
app.Quit();
}
}