Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

конвертирование файла [D6, WinXP]


antikaban ©   (2005-09-19 13:26:00) 

Как сделать save as/сохранить как в word-документе програмным путем в Delphi?


Adder   (2005-09-19 23:12:00) [1]

Сильно упрощенный (но работающий) пример:


unit WordDocU2;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls, Variants;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}
uses ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
 MSWord: Variant;
begin
   MsWord := CreateOleObject('Word.Application');
   try
       MsWord.Visible:=False;
       MsWord.Documents.Open('D:\My.doc');
       //wdFormatHTML=$00000008;
       MSWord.ActiveDocument.SaveAs('D:\My.html',$00000008);
   finally
       MSWord.Quit;
       MSWord := Unassigned;
   end;
end;
end.


Bonjovy   (2005-09-19 14:44:00) [2]

Вот юзай на здоровье в формате ворда, только не конвертируй больше ничего.

procedure TForm1.CreateReportDOC;
       procedure WinwordClose;
       var wnd: Hwnd;
       begin
          wnd:=FindWindow(nil,'Microsoft Word');
          if wnd<>0 then PostMessage(wnd,WM_CLOSE,0,0);
      end;

var
  MsWord: Variant;
begin
 try
   MsWord := CreateOleObject('Word.Basic');
 except
   Application.MessageBox('Не могу запустить Microsoft Word!','Внимание!!!', MB_ICONWARNING);
   Exit;
 end;

try
   MsWord.FileNew;
   MsWord.Insert('Какой хороший отчёт в Ворде!'#13);
   MsWord.Insert('Абракадабра');
   MSWord.FileSaveAs(ChangeFileExt(ExtractFileName(ParamStr(0)), '.doc');
   MsWord.FileClose;
finally MsWord := UnAssigned end;
   WinwordClose;
   Application.MessageBox('Отчёт записан в файл!', 'Внимание!!!', MB_ICONINFORMATION);
end;


Bonjovy   (2005-09-19 14:43:00) [3]

Вот юзай на здоровье в формате ворда, только не конвертируй больше ничего.

procedure TForm1.CreateReportDOC;
       procedure WinwordClose;
       var wnd: Hwnd;
       begin
          wnd:=FindWindow(nil,'Microsoft Word');
          if wnd<>0 then PostMessage(wnd,WM_CLOSE,0,0);
      end;

var
  MsWord: Variant;
begin
 try
   MsWord := CreateOleObject('Word.Basic');
 except
   Application.MessageBox('Не могу запустить Microsoft Word!','Внимание!!!', MB_ICONWARNING);
   Exit;
 end;

try
   MsWord.FileNew;
   MsWord.Insert('Какой хороший отчёт в Ворде!'#13);
   MsWord.Insert('Абракадабра');
   MSWord.FileSaveAs(ChangeFileExt(ExtractFileName(ParamStr(0)), '.doc');
   MsWord.FileClose;
finally MsWord := UnAssigned end;
   WinwordClose;
   Application.MessageBox('Отчёт записан в файл!', 'Внимание!!!', MB_ICONINFORMATION);
end;


Сайбель Алексей   (2005-09-19 13:55:00) [4]

только что об этом подумал..


ssk   (2005-09-19 13:39:00) [5]

казалось бы, причем здесь конвертирование файла?


Сайбель Алексей   (2005-09-19 13:37:00) [6]

Компонент: TSaveDialog

TSaveDialog displays a modal dialog box for selecting file names and saving files. The dialog does not appear at runtime until it is activated by a call to the Execute method. When the user clicks Save, the dialog closes and the selected file name is stored in the FileName property.


ssk   (2005-09-19 13:36:00) [7]

SaveDialog


Наверх

Титульная страница Поиск, карта сайта Написать письмо