|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Мое почтение всем и заранее спасибо. Сервис, написанный на ДотНете, обращается к Ворду. Вот код: Код: vbnet 1. 2. 3.
Код срабатывает без ошибок, но после него остается o.Documents.Count = 0. Как это вылечить? Если я пытаюсь открыть тот же файл в Ворде вручную, то всё получается. Сервис бежит под тем же юзером, под которым я логинюсь сам. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2014, 19:50 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Привет, Саныч. а проверяешь ты Count немедленно, сразу за Add? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2014, 23:03 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
А у тебя создается ли вообще документ на этом шаблоне? путь правильный, ошибок не возникает? Если это выполнить не в сервисе, а в обычном winforms приложении? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2014, 23:26 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Shocker.ProА у тебя создается ли вообще документ на этом шаблоне? На каком шаблоне? Не понял вопроса. Shocker.Proпуть правильный, ошибок не возникает? Это я вроде уже написал: код отрабатывает без ошибок, тот же файл вручную открывается без проблем. Shocker.ProЕсли это выполнить не в сервисе, а в обычном winforms приложении? Попробую, доложу. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 00:29 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, Microsoft не рекомендует и не поддерживает Server-side Automation Офисных приложений. Тем не менее, чтобы код работал при открытии документа через сервис, необходимо указать в настройках DCOM - Interactive User, а именно Component Service -> Computers -> My Computer -> DCOM Config -> Microsoft Word Application -> Properties -> Identity -> The interactive user. Если Microsoft Word Application отсутствует в списке, то можно добавить соответствующий ключ в реестер вручную или как рекомендуется здесь . Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 01:37 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
iMrTidyMicrosoft не рекомендует и не поддерживает Server-side Automation Офисных приложений. У меня нет выхода - сервер должен создавать файлы Ворда. iMrTidyЕсли Microsoft Word Application отсутствует в списке, то можно добавить соответствующий ключ в реестер вручную или как рекомендуется здесь . Интуитивно кажется, что это именно то, что мне нужно. Заранее большое-большое спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 02:02 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, Начиная с Office 2007, Microsoft использует формат Open XML, который позволяет работать с файлами офиса без участия самого Офиса. Для этих целей в .Net Framework существует Open XML Format SDK . ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 02:29 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир СанычНа каком шаблоне? Не понял вопроса.Для Documents.Add первый параметр - это имя шаблона.Владимир Санычтот же файл вручную открывается без проблем.Открыть файл вручную и создать новый на основе его, как шаблона - не совсем одно и то жеВладимир СанычПопробую, доложу.тогда не очень понятно, где этот код работает. если ты не пробовал ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 10:29 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
iMrTidyНачиная с Office 2007, Microsoft использует формат Open XML, который позволяет работать с файлами офиса без участия самого Офиса. Для этих целей в .Net Framework существует Open XML Format SDK . Понятно, благодарю, попробую изучить. Но это пойдет на будущее. Сейчас я пытаюсь установить на сервере уже существующую систему. Shocker.ProДля Documents.Add первый параметр - это имя шаблона. Упс... Век живи, век учись. Интересно, что программа-то работает правильно. Я делаю вот такой Add, потом всякое редактирование в файле и в конце SaveAs. Shocker.Proтогда не очень понятно, где этот код работает. если ты не пробовал Работает на других серверах. Сейчас ставлю на очередной сервер и уткнулся. === Отчет о проделанной работе будет чуть позже. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 12:00 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
iMrTidyЕсли Microsoft Word Application отсутствует в списке, то можно добавить соответствующий ключ в реестер вручную или как рекомендуется здесь . Пытаюсь сделать то, что там написано. Дошел до слов WINWORD.EXE –REGSERVER. Открывается Ворд и выдает сообщение о том, что файл –REGSERVER.doc не найден. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 17:08 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир СанычiMrTidyЕсли Microsoft Word Application отсутствует в списке, то можно добавить соответствующий ключ в реестер вручную или как рекомендуется здесь . Пытаюсь сделать то, что там написано. Дошел до слов WINWORD.EXE –REGSERVER. Открывается Ворд и выдает сообщение о том, что файл –REGSERVER.doc не найден. Возможно команда должна быть winword.exe /r ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 17:20 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Запустил эту команду. На экране какой-то процесс пробежал. Но Ворда в списке нет, и исходная проблема тоже не решилась. Перезагрузить сервер уже пробовал. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 17:53 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир СанычЗапустил эту команду. На экране какой-то процесс пробежал. Но Ворда в списке нет, и исходная проблема тоже не решилась. Перезагрузить сервер уже пробовал. Тогда можно прописать ключ вручную. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 18:59 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
А почему в файле написано Excel? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 19:46 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир СанычА почему в файле написано Excel? Прошу прощения, mea culpa, это был изначально аналогичный ключ для Excel. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 22:23 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Я так и подумал. Еще раз спасибо, проверка последует завтра. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2014, 22:54 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Увы и увы. Ворд в списке появился, и в свойствах у него отмечено The interactive user. Но по-прежнему o.Documents.Count = 0. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 13:04 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, Возможно интерактивный пользователь не имеет соответсвующих прав на запуск COM, вкладка Security -> Configuration Permissions -> Edit -> интерактивный пользователь должен иметь "Full Control". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 13:22 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Дал Full control юзеру INTERACTIVE (хотя до того был Full control у группы Administrators, в которую входит юзер, под которым бежит сервис). Заменил o.Documents.Add на o.Documents.Open. Нифига. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 13:53 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир СанычДал Full control юзеру INTERACTIVE (хотя до того был Full control у группы Administrators, в которую входит юзер, под которым бежит сервис). Заменил o.Documents.Add на o.Documents.Open. Нифига. Если не используются, например, такие события как открытие документа, т.е. связанные непосредственно с документом, то Add или Open в таком случае не играет роли. Проверьте настройки COM Security для My Computer как указано на картинке. Какая версия и битность Офиса и ОС? Разрешены ли макросы для интерактивного пользователя? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 14:43 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Local Access - Everyone - Allow Remote Access - Everyone - Allow Local Launch - Everyone - Allow Remote Launch - Everyone ничего, но зато Administrators - Allow Local Activation - Everyone - Allow Remote Activation - Everyone ничего, но зато Administrators - Allow Windows 2008, 64 bit Word 2007, где у него About я не нашел Макросы - если речь о том, что задается в самом Ворде под рубрикой Trust Center, то открыто по максимуму. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 17:09 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир СанычLocal Access - Everyone - Allow Remote Access - Everyone - Allow Local Launch - Everyone - Allow Remote Launch - Everyone ничего, но зато Administrators - Allow Local Activation - Everyone - Allow Remote Activation - Everyone ничего, но зато Administrators - Allow Windows 2008, 64 bit Word 2007, где у него About я не нашел Макросы - если речь о том, что задается в самом Ворде под рубрикой Trust Center, то открыто по максимуму. Предлагаю попробовать добавить интерактивного пользователя со всеми возможными правами отдельно как в Microsoft Word Application, так и в My Computer, чтобы окончательно исключить подозрение на права доступа пользователя. Версию можно увидеть, например, в Word при нажатии кнопки Office -> Options -> Resources -> About. Если окажется, что версия 64 бита, то Component Services нужно запускать соответственно через mmc -64 со всеми вытекающими, ну а если нет, то mmc -32. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 21:34 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
ОК. Версию увижу завтра. А что значит добавить пользователя в Ворде? Я умею добавлять пользователей только в Аксессе. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2014, 22:09 |
|
|
start [/forum/topic.php?fid=61&fpage=52&tid=2173734]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
25ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 149ms |
0 / 0 |