请问在Delphi程序中,如何将所有变量生成到一个Word文档,?
我将我的商用《旅行社管理系统》的 发团通知 部分奉献给您,望对您有所帮助。
procedure TFrmMain.N327Click(Sender: TObject); var FWord :Variant; FDoc :Variant; strSQL :string; begin //首先创造对象,如果出现异常就做出提示 try FWord := CreateOleObject('Word.Application'); //WOrd程序的执行是否可见,值为false时,程序在后台运行。
FWord.Visible := True; except messagebox(0,'创建word对象失败!','警告',MB_OK+MB_ICONINFORMATION); exit; end; strSQL :='select * From "B_T_Company_Infor"'; with dm.ClientDataSet_Temp do begin if Active then Active:=False; CommandText:=strSQL; Open; end; //现在打开的Word中,创建一个新的页面,然后在其中键入需要的内容 try FDOC :=FWord.Documents.Add; {对于Word的新页面} FWord.Selection.Font.Name :='宋体'; FWord.Selection.Font.Size :=20; FWord.Selection.Font.Bold :=2; FWord.Selection.paragraphs.Alignment := wdAlignParagraphCenter; FWord.Selection.TypeText(dm.ClientDataSet_Temp.Fields[0].AsString); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph; FWord.Selection.paragraphs.Alignment := wdAlignParagraphLeft; FWord.Selection.Font.Size :=12; FWord.Selection.Font.Bold :=0; FWord.Selection.TypeText(' 现将我社组团部的'); FWord.Selection.TypeText(' '); FWord.Selection.TypeText('团计划发出,各地请按下列行程做接待,并及早落实'+ '团队计划和选派优秀导游员。
各地代订住宿、火车票、机票务必安排好接待,日程'+ '如有变更,及时与下站接待社或本社联系,各地接团时请举【'+ dm.ClientDataSet_Temp.Fields[0].AsString+'】接站牌。
'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('请速回传真确认,谢谢合作!'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('人数:'); FWord.Selection.TypeText('人数:'); FWord.Selection.TypeText('国籍:'); FWord.Selection.TypeText('国籍:'); FWord.Selection.TypeText('等级:'); FWord.Selection.TypeText('等级:'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('这里是团队安排'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('TO: '); FWord.Selection.TypeText('12345678901234567890'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('TEL: '); FWord.Selection.TypeText('12345678901234567890'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('FAX: '); FWord.Selection.TypeText('12345678901234567890'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('______________________________________________'); FWord.Selection.Typeparagraph;//换行 FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('FROM: '); FWord.Selection.TypeText(dm.ClientDataSet_Temp.Fields[0].AsString); FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('TEL: '); FWord.Selection.TypeText(dm.ClientDataSet_Temp.Fields[3].AsString); FWord.Selection.Typeparagraph;//换行 FWord.Selection.TypeText('FAX: '); FWord.Selection.TypeText(dm.ClientDataSet_Temp.Fields[4].AsString); FWord.Selection.Typeparagraph;//换行 Except on e: Exception do Messagebox(0,Pchar(e.Message),'警告',MB_OK+MB_ICONINFORMATION); end; //保存文档 FWord.Caption := '组团计划保存在: '+ExtractFilePath(application.ExeName)+'Reports\GroupPlan.doc'; FDOC.SaveAS(ExtractFilePath(application.ExeName)+'Reports\GroupPlan.doc'); if messagebox(0,'组团计划已经保存成功!'+chr(13)+chr(13)+ '单击【确定】退出Word,返回到程序中!','您确信要退出Word吗?', MB_YESNO+MB_ICONINFORMATION+MB_DEFBUTTON2)=IDYES then begin FWord.Quit; FWord := Unassigned; end; end; ----------------------------- Delphi与Word之间的融合技术(1) 一、VBA代码含义 Microsoft Word是一个集成化环境,是美国微软公司的字处理系统,但是它决不仅仅是一个字处理系统,它集成了Microsoft Visual Basic,可以通过编程来实现对Word功能的扩展。
Microsoft Visual Basic在word中的代码即Word的宏,通过编写Word宏,可实现一些文档处理的自动化,如实现文档的自动备份、存盘等,可扩展Word文档的功能,因此,能够充分利用Word的特性,甚至使Word成为自己软件的一部分。
Word的宏既有有利的一部分,因为它能够帮助我们实现文档的自动化,但是Word的宏也不是纯粹的有利,有时它可能危害我们的文档、计算机系统甚 至网络,从最开始的Taiwan NO1宏病毒到现在的...
如何用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来对word文档进行分割
使用vba来指定保存的文件格式为pdf,当然前提必须已安装MS Office的PDF输出插件(默认应该有)procedure TForm1.btn1Click(Sender: TObject);varwdo,wdoc,wdocs : OleVariant;beginwdo := CreateOleObject('Word.Application');wdocs := wdo.Documents;wdoc := wdocs.Open('d:\test.docx');wdoc.ExportAsFixedFormat(OutputFileName:='d:\test.pdf', ExportFormat:=17);//查word的宏帮助{ OpenAfterExport:='True', OptimizeFor:='wdExportOptimizeForPrint', Range:='wdExportAllDocument', From:=1, To:=1, Item:='wdExportDocumentContent',IncludeDocProps:='True', KeepIRM:='True', CreateBookmarks:='wdExportCreateNoBookmarks', DocStructureTags:='True', BitmapMissingFonts:='True', UseISO19005_1:='False'); }end;
DELPHI 完整数据类型
a、 整数类型: (通用类型:Integer-有符号;Cardinal-无符号)具体:有符号:Shortint,Smallint,Longint无符号:Byte,Word,LongiWordb、字符类型: (通用类型:Char -与AnsiChar等同)具体:AnsiChar:主要存放Ansi字符WideChar:主要存放Unicode字符c、布尔类型: (通用类型:Boolean-与ByteBool等同)具体:ByteBool,WordBool,LongBool不同的布尔类型主要用于鱼其它编程语言及不同windows系统兼容。
d、枚举类型:定义:type 枚举类型标识符=(key1[=val1],.。
。
。
,keyn[=valn]) :n如果给某些key指定了值,则未指定值的key是前一个key值加1;如果全部默认不指定值,则key1值为0,往后逐个加1。
e、子界类型:定义:type 子界类型标识符=下界 ..下界如:type SubInt=1..3 0;表示 1~30的整数type SubChar='a'..'z';表示字符
转载请注明出处51数据库 » word delphi
看世界不顺眼