Active документ можно получить только в толстом клиенте.
COMОбъект("Word.Application") - насколько я понял по поиску, ни у кого не работает.
Как быть? Нужно в модуле веб-сервиса прописать заполнение вордовского шаблона
(2) кто-кто сказал? СП знает, есть ли у тебя такой класс?
ну что за..
дал полный доступ пользователю USR1CV8 на папку и файл в ней.
пишу в веб-сервисе:
ИмяФайла ="C:\счета клиентов\шаблон.doc"; попытка КомОбъект = ПолучитьCOMОбъект(ИмяФайла ); Возврат "да" ; Исключение Возврат "нет"; конецпопытки;
веб-сервис возвращает нет.
что за хрень?
+ доступ точно есть, пишу
попытка //КомОбъект = ПолучитьCOMОбъект(ИмяФайла ); ТабДок = Новый ТабличныйДокумент ; ТабДок.Записать("C:\счета клиентов\шаблон2.doc"); Возврат "да" ; Исключение Возврат "нет"; конецпопытки;
возвращает да и создает файл
Вдруг угадаю - а на какой стороне вызывается COM-объект?
(6) на сервере, не тупи ДВ
Распакуй шаблон и работай с ним как с xml, если тебе только надо заполнять определенные реквизиты.
это при том, что я вызываю ком объект из файла шаблон2, который сам же USR1CV8 и создал
Открой как zip-архив. Внутри xml.
наверное, где-то здесь ответ:
я подозреваю что проблема все таки остается в том что DCOM запускается с пустым пользователем, но не знаю как можно это поправить
Я сделал следующее в настройках DCOM:
Администирование-СлужбыКопонентов-Компютеры-МойКомпютер-настройка DCOM-Microsoft Excel application- Свойства-Удостоверение: Указанный пользователь - выбрал администратора сервера и ввел его пароль.
LadukOpiat
32 - 17.07.12 - 22:00 Подсказали решение на SQL.ru
На сервере необходимо было еще установить в локальных политиках право на запуск DCOM для конкретных пользователей.
и, о чудо, все заработало :-)
попробуй там же вызвать "V82.Application", и сравни результат
Stim вкладку не помню..
Безопасность
(23) да, я уже и сам проверил, работает
(26) ну а что должно возвратиться?
вот СП:
Глобальный контекст (Global context)
ПолучитьCOMОбъект (GetCOMObject)
Синтаксис:
ПолучитьCOMОбъект(<ИмяФайла>, <ИмяКлассаCOM>)
Параметры:
<ИмяФайла> (необязательный)
Тип: Строка.
Имя файла, включающее полный путь.
<ИмяКлассаCOM> (необязательный)
Тип: Строка.
Имя класса COM, экземпляр которого должен быть создан или получен. Если расширение имени файла, указанное в первом параметре, полностью идентифицирует класс объекта, то параметр может быть опущен.
Возвращаемое значение:
Тип: COMОбъект.
Описание:
Основное применение функции ПолучитьCOMОбъект - это получение COM-объекта, соответствующего файлу. Для этого следует в качестве первого параметра функции задать имя файла, который будет определять COM-объект. Например, фрагмент кода:
Таб = ПолучитьCOMОбъект("C:\DATA\DATA.XLS");
создает объект Excel.Application и открывает с его помощью файл документа "C:\DATA\DATA.XLS".
Возвращаемое значение:
Тип: COMОбъект.
не хотелось бы разбирать док на хмл и перебирать текст(( ввел кучу полей в документ.
так же не хотелось бы и запускать сеанс под толстым клиентом
(30) ну в толстом клиенте ПолучитьCOMОбъект(ИмяФайла ) как и мойActiveМакет.ПОлучить()
работает
пишут 2003 надо ставить.
ща попробую
(41) да кто же знает точно...
неправильно сказал, не COM+, а DCOM
"Службы компонентов \ Настройка DCOM"
(44) ну вот про то и речь. в версиях офиса старше 2003 компоненты имеют гуидные названия.
ща поставлю 2003 и там попробую
ладно, буду разбираться.
а пока что сделаю через запуск толстого клиента с командой строки с открытием внешней обработки
(46) Сори за оффтоп, я тебе на Инфостарте ответил
Stim ладно, буду разбираться.
а пока что сделаю через запуск толстого клиента с командой строки с открытием внешней обработки
Извращенец
:)
Всё и так работает.
блин, ну что за хрень.
админ поставил 2003 офис, нет там такой компоненты((
(51) поставил одмину пиво?
І шо, воно було?
Кароч, не стал париться с дсом, сохранил шаблон в файл xml(ворд-сохранить как) и тупо попарсил хмлку
(54) мужик!
(56) так речь была про архив, распаковку и упаковку обратно.
у меня такой фокус не получился.