Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Исключение при создании нового документа, word, не всегда работает documents.add() 
:(
    Опции темы
Arks
Дата 16.3.2009, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 7.5.2006
Где: Барнаул

Репутация: нет
Всего: нет



   
Пишу на Си#, использую позднее связывание.
Когда вызываю метод Documents.Add с указанием своего шаблона на основе которого должен создаваться документ иногда всё работает отлично, а иногда вылетает исключение:
System.Reflection.TargetInvocationException
В InnerException находится следующее:
System.Runtime.InteropServices.COMException (0x800A11FD): Метод или свойство Add недоступны, потому что данный документ находится в другом приложении.
Такое ощущение, что моё приложение иногда подключается к Word, а иногда - нет.
Код

// Подключаюсь к открытому Word, либо запускаю новое приложение
string appProgId = "Word.Application";
[...]
try
{
 word = Marshal.GetActiveObject(appProgId);
}
catch(Exception)
{
 Type wrdType = Type.GetTypeFromProgID(appProgId);
 word = Activator.CreateInstance(wrdType);
}
documents = word.GetType().InvokeMember("Documents", BindingFlags.GetProperty, null, word, null);
// Новый документ
object template = templateFileName;
object newTemplate = false;
object docType = WdNewDocumentType.wdNewBlankDocument;
//
// Ошибка иногда возникает при следующем вызове  !!!
// 
documents.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, documents, new object[] {template, newTemplate, docType});

PM MAIL ICQ Skype MSN   Вверх
Retro
Дата 16.3.2009, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


Профиль
Группа: Участник Клуба
Сообщений: 1934
Регистрация: 28.6.2005
Где: Киев

Репутация: 9
Всего: 117



Цитата(Arks @  16.3.2009,  09:44 Найти цитируемый пост)
Такое ощущение, что моё приложение иногда подключается к Word, а иногда - нет.

Возможно пытается подключиться к активному приложению (документу).
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0405 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.