Работа С Шаблонами (*.dot) Ms Word

pervenec

New Member
25.08.2014
2
0
#1
Всем, привет!
Я делаю экспорт данных в виде отчетов в Ворд путем открытия ранее созданного файла шаблона в Ворде (Форма.dot).

Word := CreateOleObject('Word.Application');
Word.Documents.Open(+'\Форма.dot');

Вот после удачного вывода всего в Ворд, нажимаю в ворде на сохранить и все просто сохраняется в шаблон ( т.е. не запрашивает имя файла). Мне надо, чтобы при кликание на сохранить выводилось окно как при кликанье на "Соханить как..." и чтобы в типе файла стоял "Документ Word", а не "Шаблон документа Word", а шаблон Форма.dot оставался таким как был до эскпорта.

P.S. Я надеюсь все понятно объяснил )
 

sinkopa

Well-Known Member
17.06.2009
344
9
#2
Всем, привет!
Я делаю экспорт данных в виде отчетов в Ворд путем открытия ранее созданного файла шаблона в Ворде (Форма.dot).

Word := CreateOleObject('Word.Application');
Word.Documents.Open(+'\Форма.dot');

Вот после удачного вывода всего в Ворд, нажимаю в ворде на сохранить и все просто сохраняется в шаблон ( т.е. не запрашивает имя файла). Мне надо, чтобы при кликание на сохранить выводилось окно как при кликанье на "Соханить как..." и чтобы в типе файла стоял "Документ Word", а не "Шаблон документа Word", а шаблон Форма.dot оставался таким как был до эскпорта.

P.S. Я надеюсь все понятно объяснил )
1. Запускаем MSWord.
2. Идем в меню (на закладку) "Разработка" (Developer)
3. Запускаем редактор Visual Basic.
4. Нажимаем кнопку F1
5. Читаем справку по объектам, методам и параметрам Ворда ;)

Это Вам на будущее. Потому что все имена объектов, методов и параметры в VB те же что и в Delphi.

В данном же конкретном случае Вам следует использовать метод Add вместо Open.
Open - открывает на редактирование документ (в Вашем случае шаблон dot)
Add - создаст новый документ. Первым параметром (если не пустой) можно указать шаблон для создаваемого документа.

Вот что написано в справке:
Word Developer Reference
Documents.Add Method
Returns a Document object that represents a new, empty document added to the collection of open documents.
Syntax
Documents.Add(Template, NewTemplate, DocumentType, Visible)
Parameters
Template The name of the template to be used for the new document. If this argument is omitted, the Normal template is used.
NewTemplate True to open the document as a template. The default value is False.
DocumentType Can be one of the following WdNewDocumentType constants: wdNewBlankDocument, wdNewEmailMessage, wdNewFrameset, or wdNewWebPage. The default constant is wdNewBlankDocument.
Visible True to open the document in a visible window. If this value is False, Microsoft Word opens the document but sets the Visible property of the document window to False. The default value is True.
Т.е. в Delphi будет вот как-то так:
Код:
Word := CreateOleObject('Word.Application');
Word.Documents.Add('C:\Шаблоны\Форма.dot');
При этом открывшийся документ будет без имени и при нажатии сохранить у пользователя спросят имя для документа.