|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, Та же самая программа и Word работают на других серверах? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 20:50 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
iMrTidyТа же самая программа и Word работают на других серверах? Так точно. Совершенно верно. Именно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 21:11 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, Версия Windows и Office тоже такие же? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 21:34 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Не имею возможности проверить, но Офис оба раза 2007, а вот Windows тут 2008, а там, где работает, кажется, 2003. Еще одна деталь. Программка, которая не сервис и работает, при запуске через Scheduler тоже не работает. Может быть, это какая-то новая политика в 2008... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2014, 00:25 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир СанычГоспода, я вернулся. Новый сервер нам не дали. Сказали, что это виртуальная машина и от ее переустановки ничего не изменится. Так что я продолжаю. iMrTidyПредлагаю попробовать добавить интерактивного пользователя со всеми возможными правами отдельно как в Microsoft Word Application, так и в My Computer, чтобы окончательно исключить подозрение на права доступа пользователя. Прописал во всех возможных местах явным образом того юзера, под которым запускается сервис. Включая задание прав для этого конкретного юзера. Ничего не изменилось. Shocker.ProТак а что происходит-то при попытке обратиться к свойству (только не через ActiveDocument)? Исключение? А какой текст ошибки? Сделал так: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Прохожу пошагово. Никакой ошибки не возникает ни на Open, ни на Add. Оба раза вижу, что x = Nothing. Тупик, господа. Саныч, вот кусочек из одной программки "на ворде", за которой мне иногда приходится присматривать: (обрати внимание на текст, который я выписывал 25 мая 2012 года, вывесив язык набок от усердия). Код: vbnet 1. 2. 3. 4. 5. 6.
Я скромно предполагаю, что это точно твой, что это твой случай. PS а я, между прочим, лестицу до сих пор перидически просматриваю. Все жду советовательного ответа на свой вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2014, 00:56 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
ух ты, последним постом форум сломал - нажал отправить, а в ответ топик засиял сонмом привидений, по штуке в каждом сообщении над ником автора сообщения. сила ворда, етить... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2014, 00:59 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
вот теперь я понял, в чем сила открытого кода - в безопасноти. Эхь. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2014, 01:01 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
boobyДобавьте местоположение файла в список безопасных. Рад тебя видеть. И что я должен делать, получив сам от себя такое сообщение? Что это за список безопасных местоположений и как в него добавляют? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2014, 10:16 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Господа! Решение найдено. Я поднял на уши не только форум, но и фирму, в которой работаю, и мне здесь коллеги нашли правильную ссылку. Вот она (точнее, две): http://stackoverflow.com/questions/1006923/automating-office-via-windows-service-on-server-2008 http://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64?forum=innovateonoffice В двух словах решение следующее. Надо просто создать две папки: C:\Windows\System32\config\systemprofile\Desktop C:\Windows\SysWOW64\config\systemprofile\Desktop Это невозможно вывести из общих знаний, сколь бы глобальными они ни были. Спасибо всем за потраченное на меня время. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2014, 12:15 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Поздравляю - да уж! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2014, 12:23 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Спасибо. Оно того стоит. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2014, 12:54 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Хаха, господа. Еще один человек в нашей фирме столкнулся с той же проблемой. Его направили за решением прямо ко мне. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 18:30 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Господа, проблема вернулась. Другой сервер. Сделал то, что написано в этом топике. Если раньше программа проходила строчку Documents.Add без ошибок, но документ не добавлялся, то теперь я получаю ошибку на этой строчке, а потом на еще одной: ошибкиThe remote procedure call failed. (Exception from HRESULT: 0x800706BE) at Microsoft.Office.Interop.Word.Documents.Add(Object& Template, Object& NewTemplate, Object& DocumentType, Object& Visible) The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) at Microsoft.Office.Interop.Word.ApplicationClass.Quit(Object& SaveChanges, Object& OriginalFormat, Object& RouteDocument) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 13:03 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
iMrTidyЕсли Microsoft Word Application отсутствует в списке, то можно добавить соответствующий ключ в реестер вручную или как рекомендуется здесь . Трудно сказать, отсутствует или нет. В списке есть вот что: Microsoft Office Word 97 - 2003 Document При этом сам Ворд - 2007. Я попытался сделать то, что написано по ссылке. Открылся Ворд и сказал мне: This file could not be found. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 14:07 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, авторHRESULT: 0x800706BE а что поменялось в системе - версия ос новая установлена, патч какой безопасный поставили, или что? авторMicrosoft Office Word 97 - 2003 Document ну, если физически регистрация ворда не "слетела", может быть, окажется достаточным на вкладке настроек dcom для авторMicrosoft Office Word 97 - 2003 Document сказать: а) что ему,[Microsoft Office Word 97 - 2003 Document], разрешено взаимодействие с рабочим столом (это третья вкладка настроек в "современной" панельке, по памяти). б) дать явные права на запуск конкретно для того пользователя, от имени которого стартует "сервис" (вторая вкладка, по памяти...). (Слово "сервис" взято в кавычки, т.к. с точки зрения использующего кода это может выглядеть как "обычная автоматизация". Но если "обычная автоматизация" запускается из-под сервиса, то сама работает в условиях "сервиса") ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 18:27 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, посмотри http://support.microsoft.com/kb/960007/en ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 18:46 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
boobyа что поменялось в системе - версия ос новая установлена, патч какой безопасный поставили, или что? Другой заказчик, другой сервер. boobyа) что ему,[Microsoft Office Word 97 - 2003 Document], разрешено взаимодействие с рабочим столом (это третья вкладка настроек в "современной" панельке, по памяти). Попробую, об исполнении доложу. Правда, сомнительно мне... boobyб) дать явные права на запуск конкретно для того пользователя, от имени которого стартует "сервис" (вторая вкладка, по памяти...). Это я уже несколько раз менял туда-сюда. Разные источники предлагают делать то так, то Interactive user. boobyВладимир Саныч, посмотри http://support.microsoft.com/kb/960007/en Это я уже видел. You must have Windows Server 2003 SP2 installed to apply this hotfix. А у меня 2012. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 20:11 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, авторРазные источники предлагают делать то так, то Interactive user. не-не. "то так, то интеракив юзер" - это читать надо так: В настройках систем разных версий птички, касательные запуска сеанса могут отличаться по своему составу. Во всех случаях есть птички, описывающие, от имени какого пользователя запущен сервис. В старых версиях - есть отдельная птичка "interactive user". В "новых версиях" на отдельной вкладке описывается пользователь, от имени которого запускается сервис, а на другой вкладке дается отдельное специальное разрешение для приложения, запущенного сервисом от имени заказанного пользователя общаться с рабочим столом. Пусть у тебя есть некий сервис S, использующий твою автоматизацию и запускаемый от имени пользователя U. тогда для компонента [Microsoft Office Word 97 - 2003 Document], а также компонента [Документ Microsoft Office Word 2007 с включенными макросами] (и т.п. найденными) ты б) даешь явные разрешения на запуск таких компонентов через dcom от имени пользователя U и, а) на закладках настроек доступа к рабочему столу, ставишь птичку, разрешающую такому, запущенному через dcom от имени пользователя U компоненту, общение с рабочим столом. Там не ineractive user, а какой-нибудь desktop communication (или а-ля) будет написан. Кроме того, в) в самом ворде местоположение шаблона предпочтительно явно пометить как безопасное. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 00:13 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
iMrTidyА Word вручную в принципе открвыается? Конечно. Если бы не открывался, я бы не такие вопросы задавал. iMrTidyМожет быть это поможет? Попробую, доложу. Спасибо. boobyВ настройках систем разных версий птички, касательные запуска сеанса могут отличаться по своему составу. Да не. Я гуглю разные лекарства от моей проблемы. И где-то советуют зайти и переставить так, а где-то наоборот. boobyв) в самом ворде местоположение шаблона предпочтительно явно пометить как безопасное. А это я уже не первый раз вижу, но все равно не понимаю, как и где. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 00:43 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, авторА это я уже не первый раз вижу, но все равно не понимаю, как и где. визуалка у 2007, 2010 и 2013 отличается. Поэтому первый клик по разным местам делать придется. В 2013 - это пункт меню Файл, потом клик в "Центр безопасности", в 2007м, вероятно, первый клик по блямбе в верхнем левом углу с ново-офисной иконой (не помню как она называется - быстрый доступ не знаю к чему). Но ключевые слова остаются одинаковыми. Надо достичь того, что названо "Центр безопасности". Там встретятся термины (списки) двух сортов - "безопасные документы" и "безопасные местоположения". Я бы предложил сосредоточиться на "безопасных местоположениях", т.к. в них - все документы безопасны. Если твой каталог с шаблонами - сетевой, то его не получится добавить в список безопасных местоположений до тех пор, пока не выставлена птица "разрешить безопасные местоположения в сети". Есть еще одна штука. Если все вышеперечисленное (настройки dcom+настройки безопасных местоположений) выполнено, это не значит, что твой код не скажет fail. Достоверно известно, что если твоя автоматизация создает на лету в свежеиспекаемом документе модули кода vba с целью обеспечения дальнейшей независимой от сторонних надстроек автоматизации, привязанной к этому конкретному документу, то необходимо также взвести птицу "доверять доступ к проектам VBA". Эта птица живет в центре безопасности, где-то в макросы-безопасность макросов. Кроме того, мои "наблюдашки" показывают, что эту птицу следует выставить не только когда ты явно генерируешь код VBA в верстаемом документе, но и тогда, когда твоя автоматизация открывает шаблон/документ с уже зафиксированным в таком документе кодом vba. Я не знаю как технически правильно описать происходящее. На пальцах - похоже на то, что открытие такого документа (с самостоятельным vba-кодом) после подъема автоматизации, работающей в контексте текущего Word.Application (Excel.Application etc), изменяет состояние списка наличных vba-проектов и самого этого факта достаточно, чтобы сказать Fail, если птица доверия доступа к vba-проектам не выставлена. Т.е. (на примере Excel) пусть твоя автоматизация организована так: 1) Некий сервис S выполняет запуск файла пускач.vbs 2) в файле пускач.vbs код: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
И последнее - если автоматизация "правильно сделана" - настройки типа "уровень безопасности макросов" можно оставить в покое. Все сработает как надо без их ворошения. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 02:23 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
booby, ну фу же, какая бяка... бее.. авторКроме того, мои "наблюдашки" показывают, что эту птицу следует выставить не только когда ты явно генерируешь код VBA в верстаемом документе, но и тогда, когда твоя автоматизация открывает шаблон/документ с уже зафиксированным в таком документе кодом vba. Если ты, дорогуша, открываешь шаблон с кодом , то в созданный по шаблону документ, vba-код переносится автоматически. А это, креативный ты наш, и есть та самая "генерация vba-кода в новом документе на лету". Наблюдашкин ты или нет, а без птички доверия к vba-проектам жить не сможешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 02:35 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, Сорри. я тут сам с собой про Excel поговорил. О котором никто не спрашивал. Мне бы надо чаще спать. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2014, 02:51 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Итак, первый доклад о результатах. Нашел Trusted locations и добавил туда место, из которого я открываю файлы (а заодно и то, в которое сохраняю). Хорошая новость. Ошибки исчезли! Код проходится без ошибок. Плохая новость. Файл, который создается моим кодом, не открывается в Ворде. Хотя я отлаживаю на примере, в котором файл должен просто открываться и сразу сохраняться командой Save As. И размер этого файла вышел примерно вдвое больше, чем у исходного. Не знаю, продолжение ли это тех же проблем или я чего-то напутал в своих настройках. На всякий случай прилагаю и исходный файл, и созданный программой. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2014, 12:48 |
|
Documents.Count = 0
|
|||
---|---|---|---|
#18+
Владимир Саныч, А что нужно увидеть в этих файлах? Дома у меня только 2003й ворд с приделанной читалкой docx-файлов. Мой 2003й одинаково успешно открывает оба файла, и показывает их без видимых визуальных различий. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2014, 15:14 |
|
|
start [/forum/topic.php?fid=61&msg=38558111&tid=2173734]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 299ms |
total: | 438ms |
0 / 0 |