delphi控制word

初学者,什么也不懂想法是,用delphi打开word,然后把里边的特定字符替换掉。把模版关闭,把替换好的另存一份并打开请问谁可以帮帮我呀我想找个详细的例子。... 初学者,什么也不懂
想法是,用delphi打开word,然后把里边的特定字符替换掉。
把模版关闭,把替换好的另存一份并打开

请问谁可以帮帮我呀
我想找个详细的例子。
展开
 我来答
叮当猫武汉
2010-03-26 · TA获得超过3739个赞
知道大有可为答主
回答量:744
采纳率:0%
帮助的人:0
展开全部
用OLE技术,
在uses部分添加ComObj模块,
然后,如下例子:
unit Unit1;

interface

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

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

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
wd,du:OLEVariant;
begin
wd:=CreateOleObject('Word.Application');//建立WinWord对像
du:=wd.Documents.Open('e:\a.doc'); //打开Word文档
ShowMessage(String(wd.ActiveDocument.Name));//显示打开的文档名称
//以下可以插入你自己的程序
du.close;//关闭文档
wd.Quit; //关闭程序
end;

end.
changjeff
2010-03-25 · TA获得超过804个赞
知道小有建树答主
回答量:2008
采纳率:54%
帮助的人:836万
展开全部
你看一下,DELPHI上面WORD控件,里面有这个功能,采用OLE
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友03a40fe
2010-03-26 · TA获得超过462个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:219万
展开全部
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ExcelXP, StdCtrls,ComObj,OleServer,OleCtrls, ComCtrls;

procedure TForm1.btn1Click(Sender: TObject); //创建EXCEL并赋值
begin
if VarIsEmpty(ExlApp) then
ExlApp:= CreateOleObject('Excel.Application');
if VarIsEmpty(WorkBook) then
ExlApp.displayAlerts:=False;
ExlApp.ScreenUpdating:=False;
ExlApp.WorkBooks.Open(ExtractFilePath(Application.ExeName)+'a.xlsx');
WorkBook:= ExlApp.WorkBooks[1];
ExlApp.WorkSheets[1].Activate;

ExlApp.Cells[1,1].Value:='fdauto';
ExlApp.Cells[1,2].Value:='fdauto1';
ExlApp.Cells[1,3].Value:='fdauto2';
ExlApp.Cells[1,4].Value:='fdauto3';
ExlApp.Cells[1,5].Value:='fdauto4';
ExlApp.Cells[1,6].Value:='fdauto5';
ExlApp.Cells[1,7].Value:='fdauto6';
ExlApp.Cells[2,1].Value:='aaa';
ExlApp.Cells[2,2].Value:='aaa1';
ExlApp.Cells[2,3].Value:='aaa2';
ExlApp.Cells[2,4].Value:='aaa3';
ExlApp.Cells[2,5].Value:='aaa4';
ExlApp.Cells[2,6].Value:='aaa5';
ExlApp.Cells[2,7].Value:='aaa6';
ExlApp.Visible:=False;
end;

procedure TForm1.btn3Click(Sender: TObject); \\关闭EXCEL
begin
if not VarIsEmpty(ExlApp) then begin //释放对象
ExlApp.activeWorkBook.Saved:=True;
ExlApp.displayAlerts:=True;
ExlApp.ScreenUpdating:=True;
ExlApp.WorkBooks.Close;
ExlApp.Quit;
end
else
if VarIsEmpty(ExlApp) then
begin
Application.MessageBox('对象不存在', '提示',
MB_OK + MB_ICONINFORMATION);
Exit;
end;
end;

procedure TForm1.btn4Click(Sender: TObject); //写EXCEL
var
iRow,iCol,MaxRow,MaxColumn:Integer;
FName:TStringList;
begin
if VarIsEmpty(ExlApp) then
begin
Application.MessageBox('对象不存在', '提示',
MB_OK + MB_ICONINFORMATION);
Exit;
end;
iRow:=StrToInt(edt2.Text);
iCol:=StrToInt(edt3.Text);
FName:=TStringList.Create;
ExlApp.WorkSheets[1].Cells[iRow,iCol]:=edt1.Text;
end;

EXCEL和word都是OLE对象 ,你把EXCEL改成WORD 基本一个做法。

上面的方法属于动态创建。(就是用代码)
当然你也可以用delphi控件搞定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式