zoukankan      html  css  js  c++  java
  • WORD操作

    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('不能生成文档,请确认是否安装了Word !', '提示', MB_ICONQUESTION);
        Exit;
    end;
    //显示WORD

    Template := EmptyParam;
    NewTemplate := False;
    DocumentTYpe := wdNewBlankDocument;
    Visible := True;

    //调用add函数
    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
          //对奇方式
          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);

       //关闭文档
    SaveChanges:=wdSaveChanges;
    OriginalFormat:=wdOriginalDocumentFormat;
    RouteDocument:=false;
    WordApp.Documents.Close(SaveChanges,OriginalFormat,RouteDocument);

    Worddoc.Disconnect ;
    worddoc.Free;

    //断开和Word 2000的连接
    WordApp.Disconnect;
    WordApp.Quit ;
    WordApp.Free ;
    MessageDlg('导出成功!保存为'+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;

  • 相关阅读:
    C++编程入门题目--No.5
    C++编程入门题目--No.4
    C++编程入门题目--No.3
    C++编程入门题目--No.2
    C++入门编程题目 NO.1
    深度使用魅族16T后的评价(本人魅友,绝对客观公正,不要盲目的为手机厂商辩护,想想从当初到现在,魅族正在一步步背离自己的信仰,有问题,解决问题才能有更好的发展)
    ACM及各类程序竞赛专业术语
    python刷LeetCode:3.无重复字符的最长子串
    python刷LeetCode:2.两数相加
    python刷LeetCode:1.两数之和
  • 原文地址:https://www.cnblogs.com/chengxin1982/p/1359169.html
Copyright © 2011-2022 走看看