一、如何用delphi操作word
一. 定义word应用程序,文档对象,比如:
wordApp: OleVariant;
wordDoc: OleVariant;
二. 打开word文档
wordApp := CreateOleObject('Word.Application');
wordDoc := WordApp.Documents.Open(FileName:=filename,
ReadOnly:= false, Revert:=True, Visible:= True);
WordApp.Visible := false;
三.表格插入数据
WordDoc.Tables.Item(TbIndex).cell(cellrow,cellcol).Range.InsertAfter(conStr);
四.在指定行写数据
WordDoc.Paragraphs.Item(16).Range.InsertAfter('abcd');
五.指定字符位置插入数据
MyRange: OleVariant;
MyRange := wordDoc.Range(Start:=0,End:=10);
MyRange.InsertAfter('abcd'+#13);
六.文件保存
wordDoc.SaveAs(filename);
七.连接word(联系:二打开文档)
//测试当前是否运行了word
try
v := getactiveoleobject(word.application);
except
//未运行则运行之
v := createoleobject(word.basic);
end; r /> try
//连接到word
wordapp.connect;
except
beep;
messagedlg(不能生成文档,请确认是否安装了word 2000!, mterror, [mbok], 0);
abort;
end;
//
二、如何用DELPHI中的WORD控件
WordRange:=WordDocument1.Range(aTemp,Position_b); vNumRows:=ADOQuery1.RecordCount; vNumColumns:=ADOQuery1.FieldCount; WordDocument1.Tables.AddOld(WordRange,vNumRows,vNumColumns); WordTable:=WordDocument1.Tables.Item(item); T:=WordTable; WordTable:=nil;WordRange:=nil; vNumRows:=NULL(); { NULL() is in unit Variant } vNumColumns:=NULL(); ADOQuery1.First; {向表格插入数据库记录} i:=1; while not ADOQuery1.Eof do begin j:=0; while j begin T.cell(i,j+1).range.text:=ADOQuery1.Fields[j].AsString; inc(j); end; inc(i); ADOQuery1.Next; end; --------------------------------------------------------------- 在Word中用宏来画表格,然后把它的语句copy下来! 在Delphi的OLE中调用就可以了!。
三、用delphi,在d盘有一个word文件和二张jpg图片,如何用一个button控
你在网上找一个DELPHI操作WORD的例子程序,很多。你这个要求实际上没有什么难度的,如果你做过打开WORD后,在WORD中插入图片的操作,再用DELPHI代码在WORD中插入图片就没有什么难的了。
你的要求实际上应该有以下三步骤:
1、创建或打开一个WORD文档;
2、向WORD文档中插入二张图片;
3、再保存这个WORD文档。
你的要求是说在后台执行这三步操作,所谓后台操作,就是不让WORD文档显示在屏幕上,也就是让它的可见性为假。
这三个步骤的DELPHI代码,不仅在网上可以搜索到,而且DELPHI自带的例子程序中也有。
四、delphi 的一个问题,怎么打开word,简单的最好用控件
我不太理解你想要做什麽,不过我看了你的问题后也做了一个把memo中的纪录导入到word档的例子,你可以参考一下: 单元接口引用 comobj单元。 procedure TForm1.Button3Click(Sender: TObject); var Word : Variant; begin try Word := CreateOLEObject('Word.Application'); Word.Documents.Open(extractfilepath(Application.ExeName)+'\test.doc',false); Word.Visible := false; Word.ActiveDocument.Range(0, 0); Word.ActiveDocument.Range.InsertAfter(memo1.Lines.Text); Word.ActiveDocument.Range.InsertParagraphAfter; Word.ActiveDocument.Range.Font.Name := 'MS Sans Serif';//砞竚砰 Word.ActiveDocument.Range.Font.Size := 24;//砞竚砰掜 Word.Quit; finally Word.Quit; end; end;
15296804918C2!
五、如何用delphi调用word打开一个文档
delphi 调用 word 打开一个文档,兼容性比较好的办法,是使用 oleObject 来调用本机安装的 word,示例代码如下: procedure TForm1.Button1Click(Sender: TObject);var MSWord: Variant;begin MSWord := CreateOLEObject('Word.Application');//连接Word MSWord.Documents.Open(FileName:='D:\Temp\temp.doc', ReadOnly:=True); //打开外部Word文档 MSWord.Visible := 1;//是否显示文件编辑 MSWord.ActiveDocument.Range(Start:=0, End:=0);//开始改变的启止位置 MSWord.ActiveDocument.Range.InsertAfter(Text:='myvc');//在Word中增加字符'myvc' MSWord.ActiveDocument.Range.InsertParagraphAfter; MSWord.ActiveDocument.Range.Font.Size := 72;//字体大小 MSWord.ActiveDocument.Range.Font.Name := 'Arial';//字体名称end;。
六、在delphi中如何操作word?
var MsWord:Variant;begin msWord:=CreateOleObject('Word.Application'); msWord.Documents.Open('C:\aaa.doc',false); msWord.Visible:=0; // 是否显示 Word 文件编辑器;1:显示; msWord.ActiveDocument.Range(0,0); // 开端插入地位; msWord.ActiveDocument.Range.InsertAfter('aaaa'); // 插入字符; msWord.ActiveDocument.Range.InsertParagraphAfter; msWord.ActiveDocument.Range.Font.Name:='Arial'; msWord.ActiveDocument.Range.Font.Size:=24;end;procedure TForm1.Button1Click(Sender: TObject);。
七、delphi 如何在delphi中调用word,比如:创建一个word 文档并向
uses ComObj ;procedure TForm1.Button1Click(Sender: TObject);var vWord,vDoc,vRange : Variant ; sText,sReplace : string ; lReturn : Boolean ;begin sText 'ABCDEFG' ; //原文字串 sReplace 'GFEDCBA' ; //新字串 vWord CreateOleObject('Word.Application') ;//创建Word线程 try //打开要操作的文件 vDoc vWord.Documents.Open('C:\My Documents\AAAc.Doc'); vDoc.Select ; //选取中整个文档 vRange vDoc.Range ; //替换范围 lReturn True ; while lReturn do begin //找到并替代成功则返回 True 共11个参数 lReturn vDoc.Range.Find.Execute(sText,,,,,,,,,sReplace,True) ; end ; finally vDoc.Close(True) ; //关闭文并保存 vWord.Quit(False) ; //退出Word end ;。
八、怎么样在 Delphi 中打开一个word文件
delphi 调用 word 打开一个文档,兼容性比较好的办法,是使用 oleObject 来调用本机安装的 word,示例代码如下:procedure TForm1.Button1Click(Sender: TObject);var MSWord: Variant;begin MSWord := CreateOLEObject('Word.Application');//连接Word MSWord.Documents.Open(FileName:='D:\Temp\temp.doc', ReadOnly:=True); //打开外部Word文档 MSWord.Visible := 1;//是否显示文件编辑 MSWord.ActiveDocument.Range(Start:=0, End:=0);//开始改变的启止位置 MSWord.ActiveDocument.Range.InsertAfter(Text:='myvc');//在Word中增加字符'myvc' MSWord.ActiveDocument.Range.InsertParagraphAfter; MSWord.ActiveDocument.Range.Font.Size := 72;//字体大小 MSWord.ActiveDocument.Range.Font.Name := 'Arial';//字体名称。
九、用Delphi在word中插入表
一个输出到模板表格中的例子 uses SysUtils,Windows,ADODB,DB,Word97,OleServer, Classes; var sSQL: String; qry: TADOQuery; fileN:OLEvariant; oleGrid: array[1..5] of olevariant; oWordApp: TWordApplication; oWordDoc: TWordDocument; sResult: String; i: Integer; begin qry:= nil; try sResult:= ' '; with qry do begin qry:= TADOQuery.Create(nil); qry.LockType:= ltReadOnly; //转换日期范围 //加载合同项目数据 sSQL:= 'select ProjectName, ProjectCode from FPPro_Project where ProjectID= '+ IntToStr(iProjectID); db_uPublic_GetRecordset(gConn, sSQL, qry); if RecordCount= 0 then begin //如果没有记录,退出 qry.Free; Result:= '没有找到项目记录! '; Exit; end; //连接Word oWordApp:= TWordApplication.Create(nil); owordDoc:= TWordDocument.Create(nil); try oWordApp.Connect; except qry.Free; owordDoc.Free; oWordApp.Free; Result:= '你可能没有安装Word! '; Exit; end; fileN:= fucGetExePath+ 'Template\基础资料清单.dot '; if not FileExists(fileN) then begin Result:= '没有找到模板文件! '; Exit; end; oWordApp.Documents.Add(fileN,emptyparam); oWordDoc.ConnectTo(oWordApp.ActiveDocument as _document); oWordApp.Options.CheckSpellingAsYouType:= False; //关闭拼写检查 oWordApp.Options.CheckGrammarAsYouType:= False; //关闭语法检查 oleGrid[1]:= oWordDoc.Tables.Item(1); oleGrid[1].Cell(1,2).Range.Text:= FieldByName( 'ProjectName ').AsString; oleGrid[1].Cell(1,4).Range.Text:= FieldByName( 'ProjectCode ').AsString; sSQL:= 'select FileName, CreateLogon, CreateDate from (FPPro_AddonFile ' + 'left join FPPro_RFile on FPPro_AddonFile.FileID=FPPro_RFile.FileID) ' + 'where FPPro_AddonFile.FileType=2 and FPPro_RFile.RelationKind=1 ' + 'and FPPro_RFile.RID= '+ IntToStr(iProjectID); db_uPublic_GetRecordset(gConn, sSQL, qry); oleGrid[1].Cell(6,1).Range.Text:= '共计份数: '+ IntToStr(RecordCount)+ '份 '; if RecordCount> 0 then begin //添加统计项目 First; i:=4; while not Eof do begin oleGrid[1].Cell(i,1).Range.Select; oWordApp.Selection.Rows.Add(emptyparam); //插入空行 oleGrid[1].Cell(i,1).Range.Text:= FieldByName( 'FileName ').AsString; oleGrid[1].Cell(i,2).Range.Text:= FieldByName( 'CreateLogon ').AsString; oleGrid[1].Cell(i,3).Range.Text:= FieldByName( 'CreateDate ').AsString; i:=i+1; Next; end; end; oWordApp.Visible:= True; oWordApp.WindowState:= 1; oWordApp.Activate; end; qry.Free; oWordApp.Free; owordDoc.Free; Result:= sResult; except on e: Exception do begin qry.Free; if owordDoc nil then owordDoc.Free; if oWordApp nil then oWordApp.Free; Result:= e.Message; end; end; end;。
转载请注明出处51数据库 » delphiwordrange