2013-06-12 3 views
3

Я новичок в офисном взаимодействии, но я не могу на всю жизнь разобраться, как получить экземпляр класса Application или Document, который относится к слову приложения в настоящее время open (т. е. не создавать новые). Это возможно?Acess current document in Word interop

ответ

3

Прошло некоторое время. Возможно, теперь есть более чистый способ, не используя Visual Basic от C Sharp; В последнее время улучшилось использование C Sharp с Office Interop. Я откопал это вверх от очень старого кода, но я использую его много:

using Microsoft.VisualBasic; 
Application wordApp = (Microsoft.Office.Interop.Word.Application)Interaction.GetObject(null, "Word.Application"); 

Обратите внимание на использовании нуля для первого параметра PathName. Использование пустой строки вернет экземпляр нового объекта Word Application. Если вы опустите PathName, GetObject вернет текущий активный объект.

Вы можете завернуть в try/catch, и если происходит COM исключение, используйте CreateObject (если эти новомодные методы программирования не называют эту плохую практику)