|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Чтение Word-файла (*.dot) из ресурсов программы
Есть набор Word-шаблонов (файлы *.dot) и маленькая утилита, которая создаёт на базе них новые Word-файлы. Всё работает, но задача в том, чтобы программа была одним файлом.
Я вижу решение в том, чтобы поместить файлы шаблонов в ресурсы программы. Но не знаю, как считать потом эти шаблоны из ресурсов. Подскажите, как это сделать. Возможно, сможете предложить альтернативное решение. Сейчас код работы с шаблонами выглядит следующим образом: Код:
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; |
#2
|
||||
|
||||
Класс TResourceStream ...
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
Да, но вопрос в том, как прочитать потом из потока. То есть нужно понять, что использовать вместо этой строки:
Код:
Document := WordApp.Documents.Add(TempleateFileName, False); |
#4
|
||||
|
||||
Из ресурса сохранить в папочку Temp и грузить оттуда. Если Word не умеет из IStream грузить.
Пишу программы за еду. __________________ |
#5
|
|||
|
|||
Да, тоже про это думал, но пока остаётся как запасной вариант, так как такой вариант накладывает определённые ограничения.
|