Word Automation обратная совместимость с Word 2003 - PullRequest
0 голосов
/ 04 ноября 2011

Я работаю над кодом автоматизации Word в C #. У меня Word 2007 установлен на моем собственном компьютере (версия 12.0.0.0 Microsoft.Office.Interop.Word.dll), но я хотел бы как минимум поддерживать Word 2003 (версия 11.0.0.0 Microsoft.Office.Interop.Word. Dll?).

Не имея Word 2003 для меня, есть ли способ настроить его так, чтобы мой код был обратно совместим? Я не могу установить распространяемый пакет PIA без установленного Word 2003.

Ответы [ 3 ]

1 голос
/ 04 ноября 2011

Если вы не против потерять intellisense и используете .Net 4, вы можете полностью избавиться от PIA, используя динамический.

Пример кода:

var type = Type.GetTypeFromProgID("Word.Application");
dynamic word = Activator.CreateInstance(type);
word.visible = true;
1 голос
/ 04 ноября 2011

Я вполне уверен, что создание bindingRedirect в app.config поможет.

http://msdn.microsoft.com/en-us/library/eftw1fys.aspx

0 голосов
/ 06 ноября 2011

Мое решение состояло в том, чтобы получить копию Microsoft.Office.Interop.Word.dll и office.dll с компьютера с установленным Word 2003.Они используются только для сборки, так что мой код работает на системах с Word 2003. Не идеально, но работает.

...