powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавление шаблона WORD
7 сообщений из 7, страница 1 из 1
Добавление шаблона WORD
    #34054064
Liu_09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пятница, 13-е.....
Видимо поэтому не могу сообразить, что делаю не так.

Работаю в ВОРДЕ с шаблоном. Благодаря этому форуму, сначала все идет как надо :

publ loWord, loDoc
loWord = CREATEOBJECT( 'WORD.APPLICATION')
loDoc=m.loWord.Documents.Add(SYS(5)+SYS(2003)+'\data\obraz.dot')

Все отлично срабатывает. С заполенением полей тоже нет проблем. Но мне надо в цикле добавлять тот же шаблон - сколько предприятий - столько и отчетов.

Вариант loDoc=m.loWord.Documents.Add(SYS(5)+SYS(2003)+'\data\obraz.dot') в дальнейшем меня не устраивает, т.к. при таком написании каждый раз запускается новый экземпляр ВОРДА.

Пытаюсь делать так :

loDoc=m.loWord.ActiveDocument.AttachedTemplate(SYS(5)+SYS(2003)+'\data\obraz.dot')

Получаю ответ - Does not support a colection.
Понимаю, что обращаюсь не к той коллекции.
Как исправить ?
...
Рейтинг: 0 / 0
Добавление шаблона WORD
    #34054421
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего ты путаешь новый экземпляр Ворда, с выставленной опцией "Окна в панели задач" для Ворда. Экземпляр Ворда на самом деле один. Для этого достаточно в меню Ворда выбрать пункт "Окна" и ты увидешь там все документы принадлежащие этому экземпляру редактора.
...
Рейтинг: 0 / 0
Добавление шаблона WORD
    #34056664
Liu_09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ.
Видимо, у меня проблемы с терминологией. Экземпляр ВОРДА действительно один.
И вообще, похоже, что .AttachedTemplate мне не подходит - она переназначает шаблон активному документу (как я поняла из других форумов)

Проблема осталась.
Если пишу в цикле -

loDoc=m.loWord.Documents.Add(SYS(5)+SYS(2003)+'\data\obraz.dot')

получается, что отчет по каждому предприятию формируется в отдельном документе. И на печать приходится отправлять КАЖДЫЙ документ. А предприятий десятки.
Не могу сообразить, что мне написать, чтобы при обработке например, 5 предприятий получился ОДИН документ, содержащий 5 страниц, каждая из которых - заполненый шаблон на отдельное предприятие.
Прошу помощи.
...
Рейтинг: 0 / 0
Добавление шаблона WORD
    #34056950
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что из себя представляет шаблон: письмо, отчет с заголовком и табличной частью или ...
Возможно тебе побойдет обыкновенное слияние данных и шаблона в новый документ.
...
Рейтинг: 0 / 0
Добавление шаблона WORD
    #34057105
Liu_09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А какая разница, что из себя представляет шаблон ?
Даже затрудняюсь его классифицировать. Похоже, отчет с заголовком и табличной частью. Приблизительно так :


Предприятие Название предприятия

Адрес Адрес предприятия

Руководитель Фамилия руководителя

Количество : Руководителей Кол-во
Служащих Кол-во
Рабочих Колво

И дальше еще много строк - на целый лист.

Возможно, мне действительно больше подошло бы слияние данных и шаблона. Можно ссылку или пример ?
...
Рейтинг: 0 / 0
Добавление шаблона WORD
    #34057518
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это пример с экспортом данных для отчета в Эксель файл, еоторый является источником данных для слияния. Но можно копировать и в DBF-ку: COPY TO <FileName> TYPE FOX2X - которую затем сделать источником данных для шаблона.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
lcSourceMerge = lcTemplatePath + "ForMerge.xls"
SET SAFETY OFF
EXPORT TO &lcSourceMerge XL5 FOR NVL(ChrgValR, 0 ) >  0  AND IsSel =  1 

loWordDoc = loWordApp.Documents.Add(lcTemplatePath + "Word\Отчет.dot")
loWordDoc.MailMerge.MainDocumentType = wdFormLetters
loWordDoc.MailMerge.OpenDataSource(lcSourceMerge,wdOpenFormatAuto, .F., .T., .T., .F., '', '', .F., '', '', '', '', '')
loWordDoc.MailMerge.Destination = wdSendToNewDocument
loWordDoc.MailMerge.Execute
loWordDoc.Close(wdDoNotSaveChanges)
RELEASE loWordDoc
...
Рейтинг: 0 / 0
Добавление шаблона WORD
    #34058992
Liu_09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, буду разбираться дальше.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Добавление шаблона WORD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]