Есть набор Word-шаблонов (файлы *.dot) и маленькая утилита, которая создаёт на базе них новые Word-файлы. Всё работает, но задача в том, чтобы программа была одним файлом.
Я вижу решение в том, чтобы поместить файлы шаблонов в ресурсы программы. Но не знаю, как считать потом эти шаблоны из ресурсов. Подскажите, как это сделать. Возможно, сможете предложить альтернативное решение.
Сейчас код работы с шаблонами выглядит следующим образом:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | procedure TfmMain . CreateDocument0;
var
TempleateFileName: string ;
WordApp, Document: OleVariant;
procedure FillBookmark(BookmarkName, bText: string );
var
Range: OleVariant;
begin
if Document . Bookmarks . Exists(BookmarkName) then
begin
Range := Document . Bookmarks . Item(BookmarkName).Range;
Range . Text := bText;
end ;
end ;
begin
TempleateFileName := ExtractFilePath(Application . ExeName)+ 'Templates\0.dot' ;
try
WordApp := GetActiveOleObject( 'Word.Application' );
except
try
WordApp := CreateOleObject( 'Word.Application' );
except
on E: Exception do
begin
MessageBox(Self . Handle, PChar (E . Message), PChar (fmMain . Caption), MB_OK+MB_ICONERROR);
Exit;
end ;
end ;
end ;
try
Document := WordApp . Documents . Add(TempleateFileName, False );
FillBookmark( 'ObjectType' , edt0ObjectType . Text);
...
WordApp . Visible := True ;
WordApp . Activate;
finally
WordApp := Unassigned;
end ;
end ;
|