КАРТА САЙТА
Sibnet.ru
Sibnet.ru

Sibnet.ru — это информационно-развлекательный интернет-проект, ориентированный на широкий круг Сибирского региона.
По данным Rambler Top100, Sibnet.ru является самым популярным порталом в Сибири.

Контакты:
АО "Ринет"
ОГРН 1025402475856
г. Новосибирск, ул. Якушева, д. 37, 3 этаж
отдел рекламы:
(383) 347-10-50, 347-06-78, 347-22-11, 347-03-97

Редакция: (383) 347-86-84

Техподдержка:
help.sibnet.ru
Авторизируйтесь,
чтобы продолжить
Некоторые функции доступны только зарегистрированным пользователям
Неправильный логин или пароль

Внимание! Теперь для входа на форум необходимо вводить единый пароль регистрации сервисов sibnet.ru!

Здравствуйте, гость ( Вход | Регистрация )



> Работа с документами Word в C#
BloodSeeker
сообщение 16.6.2014, 22:06
Сообщение #1


Товарищ
Group Icon


Группа: Sibnet-club
Сообщений: 863
Регистрация: 22.6.2007
Из: Санкт-Петербург
Пользователь №: 485



Репутация:   49  


Доброго времени суток. Столкнулся с такой проблемой: нужно реализовать работу с документами Word в C#. По факту так происходит: наживаю на Button1 и через openfiledialog выбираю нужный мне документ и он прикрепляется к записи из БД. При нажатии на button2 автоматически открывается документ. Так вот, собственно проблема - на моей машине все работает замечательно. На машине заказчика при прикреплении документа программа вылетает. Причем ни эксепшена, ничего - просто "программ выполнила недопустимую операцию и будет закрыта" (как-то так).
Открытие документа работает нормально. Вот кусок кода, ответственный за прикрепление документа:
Код

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();
                }
}

Кто-нибудь может предположить, в чем тут магия?
try...catch ничего не выдает. Программа просто терминируется без всяких ексепшенов
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов



Ответить в эту темуОткрыть новую тему
1 чел. просматривают этот форум (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Текстовая версия Сейчас: 12.7.2025, 16:18
Редакция: (383) 347-86-84

Техподдержка:
help.sibnet.ru
Размещение рекламы:
тел: (383) 347-06-78, 347-10-50

Правила использования материалов