|
Word автоматизация
|
|||
---|---|---|---|
#18+
Коллеги, добрый день. Есть проект консольного приложения, которое должно работать из шедулера на сервере либо на каком-то компьютере, но тоже из шедулера. Приложение открывает шаблон word-документа, проставляет в определенные места данные, заменяя ключевые слов значениями из базы, сохраняет этот файл в формате pdf и отправляет письмом с вложением. Если запускать это приложение на сервере (SQL и Word установлены, доступ есть) из под залогиневшегося пользователя, все работает. Если запускать с правами тогоже пользователя из шедулера (шедулер виндовый), то не работает. То не может Word активировать, то не может выполнить SaveAs2. Использую позднее связывание для работы с Word. При запуске на сервере под пользователем на открытие Word вот такая ошибка: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)). Куда нет доступа? И что надо сделать, чтобы был доступ? На рабочей станции под Win10 с правами администратора на машину Word открывает, но падает при сохранении файла. Ошибка: Ссылка на объект не указывает на экземпляр объекта. Код на котором падает: InvokeMember("SaveAs2", curdoc, new object[] { FileNameSave, 17 }); Сохранение файла в формате pdf private static object InvokeMember(string method, object instance, object[] parameters) { Type type = instance.GetType(); return type.InvokeMember(method, BindingFlags.InvokeMethod, null, instance, parameters); } curdoc - текущий документ ворд. curdoc = docWord.GetType().InvokeMember("Open", BindingFlags.InvokeMethod, null, docWord, new object[] { FileNameOpen }); ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2019, 09:48 |
|
Word автоматизация
|
|||
---|---|---|---|
#18+
densmile, Нельзя работать с MS Office на сервере через OLE. Нужно использовать отдельные библиотеки и инструменты. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2019, 15:40 |
|
Word автоматизация
|
|||
---|---|---|---|
#18+
hVosttdensmile, Нельзя работать с MS Office на сервере через OLE. Нужно использовать отдельные библиотеки и инструменты. Можете подсказать что надо использовать в данном случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2019, 15:55 |
|
Word автоматизация
|
|||
---|---|---|---|
#18+
densmileМожете подсказать что надо использовать в данном случае? https://www.nuget.org/packages/DocumentFormat.OpenXml/ ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2019, 16:09 |
|
Word автоматизация
|
|||
---|---|---|---|
#18+
Коллеги, спасибо. Буду изучать. Но в догонку еще пара вопросов: 1. Смогу ли я из своего консольного приложения работать этим методом с Вордом? 2. Можно ли будет сохранить полученный документ в pdf-формат? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2019, 17:57 |
|
Word автоматизация
|
|||
---|---|---|---|
#18+
densmile1. Смогу ли я из своего консольного приложения работать этим методом с Вордом? да densmile2. Можно ли будет сохранить полученный документ в pdf-формат? да https://gist.github.com/satish860/7729201 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2019, 18:09 |
|
Word автоматизация
|
|||
---|---|---|---|
#18+
hVosttdensmileМожете подсказать что надо использовать в данном случае? https://www.nuget.org/packages/DocumentFormat.OpenXml/ походу этот пакет не умеет запароленные xlsx файлы пережевывать... :( (если защитить весь документ, а не его части) пишет, что формат не подходящий, а вот EPPlus норм их хавает :( ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 16:16 |
|
Word автоматизация
|
|||
---|---|---|---|
#18+
densmileПриложение открывает шаблон word-документа, проставляет в определенные места данные, заменяя ключевые слов значениями из базы, сохраняет этот файл в формате pdf и отправляет письмом с вложением. Если конечным файлом является PDF, то я бы не заморачивался c Вордом, а делал бы HTML. Возмjжно из XML через XSLT ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2019, 18:13 |
|
|
start [/forum/topic.php?fid=20&fpage=19&tid=1398900]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 268ms |
total: | 400ms |
0 / 0 |