关于Delphi中调用Word的问题.....(200分)

  • 主题发起人 主题发起人 京徽
  • 开始时间 开始时间

京徽

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠,请大家帮帮我!
在Delphi 中调用Word时,我遇到了难题,请看如下的例子:[:(][:(]
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
var varword:variant;

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
try
//和word建立连接的返回值保存在Varword中
//通过对它的操作间接对word传送指令
varword:=createoleobject('word.basic');
varword.appshow;
varword.filenew('E:/a.dot');//调用一模板文件,其中有表格,要将字符串插入任意位置
application.BringToFront;
except
showmessage('没找到Word的文档,请检查你是否安装了Word!');
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
varword.bold;
varword.insert(' '+'这是一个练习'+#13#13);//插入字符串
end;

procedure TForm1.Button3Click(Sender: TObject);
var dir:string;
begin
dir:='';
dir:=edit1.Text;//在Edit1里输入文件保存地址
varword.filesaveas(dir);
showmessage('文件保存成功!');
varword.fileclose;
//varword.free;
close;
end;

end.


问题:[:(]
1。不可控制插入字符串的位置。
在调用模板时,插入的字符串总是将文本框、线条、表格等往下压,
无法在任意位置插入指定的字符串。
2。无法改变插入的字体、字号。
3。无法将Word从内存中清除。
程序调用Word后,使用Close无法关闭Word,也不支持Free方法,造成当机。




 
最好能发个例子给我,谢谢了....
 
最后一个是使用Quit吧。[:)]
 
这个地方可以解决 你的第一个问题
http://www.delphibbs.com/delphibbs/dispq.asp?lid=786011

2至于那个字体可以写一个宏,看看,改成delphi的即可
varWord.Range['A1'].Select;
varWord.Selection.Font.Size :=24;

3。varWord := Unassigned;

绝对没有问题了
 
后退
顶部