如何将数据添加到MS word

时间:2015-11-29 16:36:11

标签: delphi

我想通过Delphi应用程序在MSword中添加一些数据。互联网上有很多例子,但它们非常复杂。 有人可以帮助我使用一个接受字符串参数的简单函数,然后将该字符串附加到word文档中并将该文档保存到桌面

1 个答案:

答案 0 :(得分:0)

下面是我能想到的使用Delphi创建Word文档的最简单示例。我提供这个只是为了让你开始,这样你就可以开始尝试一个有效的例子。尝试一下,然后阅读我给你链接的教程 - 我不打算将这个答案扩展到教程中。

当你开始阅读Delphi中的自动化时,你会发现有两种方法可以做到这一点,"早期绑定",你在那里使用通过导入自动化对象而得到的类#34;类型库"和"后期绑定",您使用变量而不是类实例来表示自动化对象。下面的示例使用后期绑定,因为它对于基本示例来说是最简单的。请注意,SaveAs

参数中的特殊命名参数语法(FileName:= xxx)
  Document.SaveAs(FileName := AFileName)

被添加到Delphi中以支持自动化对象的后期绑定。

除了像Deborah Pate这样的教程之外,学习Delpi自动化Word的基础知识的另一种方法是录制一个Word宏,它可以做你想要的,然后检查Word中的宏代码&#39 ; VB编辑器(在Word&#39的功能区的开发人员选项卡上) - 通常,将代码翻译成Delphi很简单。

unit SimpleWordu;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    procedure CreateWordDoc;
  protected
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateWordDoc;
end;

procedure TForm1.CreateWordDoc;
var
  UserName,
  AFileName : String;
  DocText : String;
  MSWord,
  Document : OleVariant;
begin
  MSWord := CreateOleObject('Word.Application');
  MSWord.Visible := True;
  Document := MSWord.Documents.Add;

  DocText := 'Hello Word!';
  MSWord.Selection.TypeText(DocText);

  UserName := 'MA';
  AFileName := Format('c:\users\%s\desktop\worddoc.doc', [UserName]);

  Document.SaveAs(FileName := AFileName);
end;

end.