15.06.2014, 17:27
|
Прохожий
|
|
Регистрация: 07.11.2012
Сообщения: 7
Репутация: 10
|
|
Delphi и Word, работа c SaveDialog
Добрый день! Подскажите пожалуйста, как сделать, чтобы при создании отчета появлялось окно "Сохранить как"?
На данный момент все отчеты сохраняются в папку "Мои документы"
Код:
procedure TForm7.Button1Click(Sender: TObject);
var
Command, // строка команды
NameTemplate, // путь к файлу шаблона
NameResult: string; // путь до отчета
Macros: PChar; // строка команды на выполнение в Word
begin
If (DBEdit1.Text<>'') and (Memo1.Text<>'') then
begin
NameTemplate := GetCurrentDir + '\Шаблон.doc'; // задаем путь до файла шаблона
NameResult := DBEdit1.Text+' '+DBEdit2.Text+' '+DBEdit3.Text+' '+DateToStr(Now)+'.doc';
// Далее в переменную Command добавляем команды, разделяя их []
// открываем файл шаблона и переходим в начало документа
Command := '[FileOpen "' + NameTemplate + '"][StartOfDocument]';
// сохраняем документ под новым именем
Command := Command + '[FileSaveAs "' + NameResult + '"]';
// переходим на закладку «Дата»
Command := Command + '[EditBookmark.name = "Дата", .Goto]';
// Вставляем текущую дату
Command := Command + '[Insert "' + DBEdit5.Text + '"]';
Command := Command + '[EditBookmark.name = "Фамилия", .Goto]';
Command := Command + '[Insert "' + DBEdit1.Text + '"]';
Command := Command + '[EditBookmark.name = "Имя", .Goto]';
Command := Command + '[Insert "' + DBEdit2.Text + '"]';
Command := Command + '[EditBookmark.name = "Отчество", .Goto]';
Command := Command + '[Insert "' + DBEdit3.Text + '"]';
Command := Command + '[EditBookmark.name = "Должность", .Goto]';
Command := Command + '[Insert "' + DBEdit4.Text + '"]';
Command := Command + '[EditBookmark.name = "Результат1", .Goto]';
Command := Command + '[Insert "' + Memo1.Text + '"]';
Command := Command + '[EditBookmark.name = "Результат2", .Goto]';
Command := Command + '[Insert "' + Memo2.Text + '"]';
Command := Command + '[EditBookmark.name = "Результат3", .Goto]';
Command := Command + '[Insert "' + Memo3.Text + '"]';
Command := Command + '[EditBookmark.name = "Результат4_1", .Goto]';
Command := Command + '[Insert "' + Memo4.Text + '"]';
Command := Command + '[EditBookmark.name = "Результат4_2", .Goto]';
Command := Command + '[Insert "' + Memo5.Text + '"]';
Command := Command + '[EditBookmark.name = "Результат4_3", .Goto]';
Command := Command + '[Insert "' + Memo6.Text + '"]';
Command := Command + '[EditBookmark.name = "Результат4_4", .Goto]';
Command := Command + '[Insert "' + Memo7.Text + '"]';
Command := Command + '[EditBookmark.name = "Результат4_5", .Goto]';
Command := Command + '[Insert "' + Memo8.Text + '"]';
Command := Command + '[FileSave]'; // сохраняем файл
Macros := PChar(Command); // Преобразуем тип String в PChar
DDE.OpenLink; // Откываем соединение с Word
DDE.ExecuteMacro(Macros, false); // Отправляем команды на выполнение
end
else MessageDlg('Нет данных для отчета!', mtError, [mbOK],0)
end;
|