我在做一个离线上报系统,要求是在Word内先建一个表格模板,在要求填入的空格处插入标签,然后在Delphi系统中把需要自动倒入到Word的内容直接通过连接Word模板进行自动填充。该系统的思想我知道,但不知道具体该怎么来实现,请教高手赐教!最好是给我一个现成的例子发到我的邮箱内,一定给高分!谢谢![email protected]
解决方案 »
- cann't load package 'rtl70'. It contains unit 'System',which is also contain
- 怎么delphi5的ADO能连接上网站数据库,delphi7就不行?
- 如何用好delphi的帮助文档?
- 關於數據導入的問題!!!!各位大俠幫幫忙!!!
- 求助:指数函数
- 怎样使show方法出来的窗体,在close窗体时,同时Free该窗体?
- 求使用RichEdit 或 RxRichedit显示聊天记录的demo ,100分送上
- timer控件和val函数问题
- 空值问题
- 请教一个问题,我是刚开始学delphi的。很简单的问题。帮帮我吧?????/
- TpageControl控件,有4个Ttabsheet,如何让其中几个不显示,visible属性好像不管用
- 小问题,在线等,combobox的操作问题
可以多参看一下Office的在线帮助,多试一下吧。
告诉你如何替换文字吧。
注意:要uses Word97。(或者word2000)一定要引用!
procedure openwordfile(Myword:TWordApplication;Myfile:string);//打开Word文档函数。
//Myword:文档工程名称;Myfile:word文件名。
var
ItemIndex :OleVariant;
FileName, ConfirmConversions, ReadOnly, AddToRecentFiles,
PasswordDocument, PasswordTemplate, Revert,
WritePasswordDocument, WritePasswordTemplate, Format,
MatchCase,MatchWholeWord,find1,rep1,
MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward,
Wrap, Replace : OleVariant;
begin
Myword.Visible := false;
FileName :=MyFile;
confirmConversions := False;
ReadOnly := False;
AddToRecentFiles := False;
PasswordDocument := '';
PasswordTemplate := '';
Revert := True;
WritePasswordDocument := '';
WritePasswordTemplate := '';
Format := wdOpenFormatDocument;
myWord.Documents.Open( FileName, ConfirmConversions,
readOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate,
Revert, WritePasswordDocument, WritePasswordTemplate, Format );
myword.Visible:=false;
end;
//打开Word文档函数(结束)
Procedure RepData(MyDoc:TWordDocument;FindStr,RepStr:string);//利用数据库替换Word字符串函数
//FindStr:被查找的字符串。RepStr:要替换的字符串。
var
MatchCase,MatchWholeWord,find1,rep1,Format,
MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward,
Wrap, Replace : OleVariant;
begin
Find1:=FindStr;
Rep1:=RepStr;
MatchCase:=false;
MatchWholeWord:=true;
MatchWildcards:=false;
MatchSoundsLike:=false;
MatchAllWordForms:=false;
Format:=true;
Forward:=true;
replace:=wdReplaceall;
// WordApplication2.StartOfdocument; //到文首
{if} Mydoc.Range.Find.Execute( find1, MatchCase, MatchWholeWord,
MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward,
Wrap, Format, Rep1, Replace );{ then showmessage('OK!!!!')}
{else showmessage('finish!!');}
end;
以下是根据模板新建一个Doc文件。
FileName := Opendialog1.FileName;
itemindex:=1;
tempPlate:=Filename;
newtemplate:=false;
WordApplication1.Connect;
WordApplication1.Visible:=true;
WordApplication1.Documents.Add(TempPlate,newtemplate);
WordDocument1.ConnectTo(WordApplication1.Documents.Item(itemindex));以下是我找到的一段控制WORD文档的程序,可以看看。
procedure TForm1.Button1Click(Sender: TObject);
begin
WordApplication1.Connect;
WordApplication1.Visible := True;
visible:=true;
// wordapplication1.Documents.Add()
WordApplication1.Documents.Add(EmptyParam,EmptyParam);
WordDocument1.Connect;
WordApplication1.ActiveWindow.View.Type_:= wdNormalView;
WordApplication1.Selection.Font.Name :='黑体';
WordApplication1.Selection.Font.Size := 16;
WordApplication1.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter;
WordApplication1.Selection.TypeText('自定义表头内容');
WordApplication1.Selection.TypeParagraph;
WordApplication1.Selection.TypeParagraph;
WordApplication1.Selection.Font.Name := '宋体';
WordApplication1.Selection.Font.Size :=12;
WordApplication1.Selection.ParagraphFormat.Alignment := wdAlignParagraphRight;
WordApplication1.Selection.TypeText('日期'+formatdatetime('yyyy"年"mm"月"dd"日"',now));
WordApplication1.Selection.TypeParagraph;
WordApplication1.Selection.TypeParagraph;//回车
WordApplication1.Selection.ParagraphFormat.Alignment := wdAlignParagraphLeft;
end;