Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
ВнизDelphi && Microsoft Word Найти похожие ветки
← →
Egor (2003-10-14 17:48) [0]Постановка задачи:
Есть шаблон-договор в формате Microsoft Word
Надо заполнить этот договор даными из базы данных.
Подскажите как мне выставить "курсор" в файле Worda
(думаю должно что-то быть типа функции seek).
Это нужно для того чтобы вписать данные в НУЖНОЕ место в файле Worda.
Вот так я подключаюсь к Wordу:
MSWord := CreateOLEObject("Word.Application");
MSWord.Documents.Open (FileName:="d:\test.doc", ReadOnly:=false);
У меня DELPHI6.
Заранее благодарен!
← →
AlexKniga (2003-10-14 17:52) [1]Egor
> Есть шаблон-договор в формате Microsoft Word
> Надо заполнить этот договор даными из базы данных.
Для этого не надо Delphi.
Почитай справку M$ Word о полях слияния.
← →
Семен Сорокин (2003-10-14 18:05) [2]2Egor
поищи файл на подобе vbawd10.chm - для XP (vbawd8.chm, vbawd9.chm) в папке (\Program Files\Microsoft Office\Office10\1033) офиса - там будет описание всех методов и свойств объекта Application
← →
Sergey_Masloff (2003-10-14 22:23) [3]>Это нужно для того чтобы вписать данные в НУЖНОЕ место в файле >Worda.
Для этого служат поля или букмарки например в таблицах.
← →
Романов Р.В. (2003-10-14 22:36) [4]Еще можно заменой текста...
← →
Goffman (2003-10-15 08:20) [5]Я делал примерно то же самое c Excel. У меня это выглядело так:
Excel.Cells.Replace("#OBOZN#",Obozn);
Первый параметр - то что нужно заменить в шаблоне.
Второй параметр - то, чем нужно заменить.
С вордом примерно так же должно быть.
← →
nstur (2003-10-15 09:39) [6]Есть мой компонент для работы, в таких, случаях с Word, который можно скачать на http://www.nstur.narod.ru/Delphi/index.html
Назначение: Этот компонент предназначен для работы с текстами Word.
Методы и свойства:
TNsWord = class(TWordApplication)
public
property NsDocument: _Document; - Экземпляр документа
property Application;
procedure Connect; - загрузить и подключиться к Word
procedure Disconnect; - отключиться и закрыть Word
procedure Refresh; - если Word не подключен, тогда Connect
function Connected: boolean; - признак связи с Word
function OpenedDocument: boolean; - признак открытия документа
function NewDoc(Template: String = ""): _Document; - Refresh и открытие документа
procedure CloseDoc; - закрыть документ
procedure InsertText(Text: String); - вставить текст. Для перевода строки добавлять #13
procedure Print; - печать документа
procedure SaveAs(Filename: String); - сохранить документ
procedure EndDocument; - переместить курсор в конец документа
procedure ExecuteReplace; - выполнить замену текста.
procedure SetTabs(const DefaultTabStop: single; TabStops: array of single); - установить табуляторы(в сантиметрах)
published
property Caption: String;
property Visible: Boolean;
property WindowState: TWindowState;
property MsFont: TMicrosoftFont;
property Alignment: TWdAlignmen;
property ReplaceStyle: TReplaceStyle;
property OtherEvents: TNsOtherEvents; - дополнительные события.
property OnLocalReplace: TLocalReplaceEvent;
end;
ExecuteReplace: Компонент производит проверку на вхождение в текст символов шаблона. Если он найден, тогда вызывается событие OnLocalReplace (TLocalReplaceEvent = procedure (var ReplaceText: string) of object;). Под шаблоном понимается текст заключенный в символы установленные ReplaceStyle. ReplaceStyle имеет следующие ворианты rsDefault = |, rsPercent = %, rsTwiddle = ~.
Пример: Если используется шаблон |ФИО|, в реализации события в параметре ReplaceText возвращается текст ФИО, который вы можите заменить ReplaceText:= "Петров А.А.".
OtherEvents: Это колекция дополнительных событий, которые будут возникать если в тексте документа встретиться шаблон с текстом утазанным в свойстве Text.
Дополнительные методы для работы с шаблоними:
var
WordSh: record Разбор шаблонов Word
Code: integer;
Abr: boolean;
BText: string;
EText: string;
end;
function SetWordSh(Value: string): boolean;
Сам текст шаблона может и должен содержать шаблоны типа |%6*<Текст_>_г.|
Шаблон должен быть заключён в знаки ReplaceStyle и начинаться с %, затем идёт номер получаемого значения (WordSh.Code), который заполнит этот шаблон. Знак * определяет значение WordSh.Abr(например дата: со столетием или без). Далее указываются необязательные параметры, которые говорят, что < - текст ставиться перед значением (WordSh.BText), а > - после значения (WordSh.EText). Знак _ заменяется на пробелы, но пробелы тоже можно использовать. Прошу запомнить, что символы %,*,<,> и ReplaceStyle являются управляющими символами.Функция SetWordSh возвращает True если Value обработалось нормально.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c