Программно заполнить шаблон Word в распространяемом приложении - PullRequest
0 голосов
/ 30 октября 2011

Мне нужен совет о том, как решить конкретную проблему, для которой я пытаюсь обойти эту проблему, но продолжаю находить себя между парой неудачных вариантов. Приложение имеет большую коллекцию шаблонов word doc.Приложение должно на лету создать один из шаблонов и заполнить значения в закладках.

У меня есть несколько вариантов, как это сделать ...

ИспользоватьБиблиотека Interop: Я довольно легко заполняю фактический шаблонный документ библиотекой Interop, перебирая все закладки, заполняя их и сохраняя документ снова.

Проблема: Мне нужно иметь возможность поддерживать версию Word с 2003-2010;версия становится проблемой ... если я ссылаюсь на неправильную версию Interop.Word, это может вызвать проблемы совместимости для пользователей более старых версий?У меня не так много возможностей для тестирования, поэтому я не уверен ...

Макрос VBA: Я уже использовал этот метод для создания таблиц Excel раньше;записывать поля в csv, читать в новый документ, сгенерированный из шаблона через VBA, и ta-da, новый документ.

Проблема: Настройки безопасности на компьютерах конечных пользователей, вероятно, будут чрезвычайно строгими.VBA может быть отключен.

Есть ли лучший способ сделать это, которого я не вижу?Может ли версия Interop быть менее важной, чем я думал?Кроме OfficeXML, который является катастрофой для документов, которые мы используем (я посмотрел ..), есть ли другая хорошая возможность?

Редактировать: отправлено раньше .. чертов браузер -_-;

1 Ответ

0 голосов
/ 30 октября 2011

VBA обычно блокируется в открытых документах и ​​шаблонах. Но шаблоны в каталоге автозагрузки Word разрешены. Я не уверен насчет Word 2007 и 2010, но в Word 97–2003 был каталог wrdstart, который мог содержать шаблоны, которые были загружены при запуске word. Там был файл normal.dot, и вы можете добавить свой собственный, чтобы он содержал скрипты, макросы и другие инструменты.

Я думаю, что с тех пор это по сути не изменилось, хотя я больше не занимаюсь разработкой Word, поэтому я не уверен.

[править]

Да, он все еще существует. В Word 2010 вы найдете настройки в меню Файл -> Параметры -> Дополнительно -> Расположение файлов (кнопка). Существует настройка «Автозагрузка», указывающая на каталог. Шаблоны в этой папке будут загружаться при запуске, и их макросы должны быть в состоянии выполнить.

Проверка файла -> Параметры -> Центр управления безопасностью -> Настройки центра управления безопасностью (кнопка). Там вы можете указать разрешенные документы и доверенное местоположение. Каталог wrdstart находится там, но вы можете добавить свой собственный.

...