function ExportToWord(StrList: TStrings; SavePath: string): Boolean;
var
WordApp: TWordApplication;
WordDoc: TWordDocument;
Template, NewTemplate, DocumentTYpe, Visible: OleVariant;
ItemIndex: OleVariant;
FileName: OleVariant;
NoPrompt, OriginalFormat: OleVariant;
RouteDocument,SaveChanges:OleVariant;
LinkToFile, SaveWithDocument:OleVariant;
FilePath: string;
I: Integer;
begin
if FileExists(Savepath) then
??? Exit;
//連接到WORD 2000
try
??? WordApp := TWordApplication.Create(nil);
??? WordApp.Connect;
except
??? Application.MessageBox('不能生成文檔,請(qǐng)確認(rèn)是否安裝了Word !', '提示', MB_ICONQUESTION);
??? Exit;
end;
//顯示W(wǎng)ORD
Template := EmptyParam;
NewTemplate := False;
DocumentTYpe := wdNewBlankDocument;
Visible := True;
//調(diào)用add函數(shù)
WordApp.Documents.Add(Template, NewTemplate, DocumentTYpe, Visible);
//連接到新建的文檔
ItemIndex := 1;
WordDoc := TWordDocument.Create(nil);
WordDoc.ConnectTo(WordApp.Documents.Item(ItemIndex));
//文檔另外為
FileName := SavePath;
WordDoc.SaveAs(FileName);
with WordApp.Selection do
begin
??? Font.Size := 20;
??? for I := 0 to StrList.Count - 1 do
??? begin
????? //對(duì)奇方式
????? Paragraphs.Alignment:=wdAlignParagraphCenter;
????? TypeText(StrList.Strings[i]);
????? TypeParagraph;//換行
????? //加載圖片方式
????? //InlineShapes.AddPicture('C:\Documents and Settings\Administrator\桌面\695884_66_thumb.jpg',LinkToFile,SaveWithDocument,EmptyParam);
??? end;
end;
//保存文檔
NoPrompt := False;
OriginalFormat := wdOriginalDocumentFormat;
WordApp.Documents.Save(NoPrompt, OriginalFormat);
?? //關(guān)閉文檔
SaveChanges:=wdSaveChanges;
OriginalFormat:=wdOriginalDocumentFormat;
RouteDocument:=false;
WordApp.Documents.Close(SaveChanges,OriginalFormat,RouteDocument);
Worddoc.Disconnect ;
worddoc.Free;
//斷開(kāi)和Word 2000的連接
WordApp.Disconnect;
WordApp.Quit ;
WordApp.Free ;
MessageDlg('導(dǎo)出成功!保存為'+fileName,mtInformation,[mbOK],0);
FilePath := string(fileName);
ShellExecute(0, 'open', PChar(FilePath) , '', '',SW_SHOWNORMAL);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
SaveName: string;
begin
Caption := ExtractFilePath(ParamStr(0));
SaveName := ExtractFilePath(ParamStr(0));
SaveName := SaveName + 'Test.Doc';
if FileExists(SaveName) then
??? DeleteFile(SaveName);
ShowMessage(SaveName);
ExportToWord(Memo1.Lines, SaveName);
end;