Office集成之Word模板的套打

Posted goodlifesantook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Office集成之Word模板的套打相关的知识,希望对你有一定的参考价值。

报表时管理信息系统、ERP软件中最多用到的东西,但VB6本身所提供的报表功能简单,而使用专业的报表控件(如水晶报表)都是要收费的,那么如何解决这个问题呢?

在目前很多软件中都有了Word、Excel模板套打的功能,即在Office中创建好模板文件,然后通过Office的COM交互组件实现在VB等语言中进行控制输出。

 

下面的例子演示了如何实现以一个Word模板的套打,源代码可以在我的下载资源中找到。

代码如下:

 

'标题:Office集成之Word模板套打
'编制:santook (QQ120742353)

 

Private Declare Function GetTickCount Lib "kernel32" () As Long


Private Sub Command1_Click()
    Dim wd As New Word.Application
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
   
    '打开模板
    wd.Documents.Open fso.buildpath(App.Path, "template.doc")
   
    '开始数据填充
    wd.ActiveDocument.Tables(1).Cell(1, 2).Range.Text = "Nokia N73"
    wd.ActiveDocument.Tables(1).Cell(1, 4).Range.Text = "051206"
    wd.ActiveDocument.Tables(1).Cell(2, 2).Range.Text = "RM-60"
    wd.ActiveDocument.Tables(1).Cell(2, 4).Range.Text = "GSM"
    wd.ActiveDocument.Tables(1).Cell(3, 2).Range.Text = "60.10.11"
    wd.ActiveDocument.Tables(1).Cell(3, 4).Range.Text = "09-15-07"
    wd.ActiveDocument.Tables(1).Cell(4, 2).Range.Text = "14.251"
    wd.ActiveDocument.Tables(1).Cell(5, 2).Range.Text = "05251064721030"
    wd.ActiveDocument.Tables(1).Cell(6, 2).Range.Text = "经常死机;电池异常掉电;"
    wd.ActiveDocument.Tables(1).Cell(8, 1).Range.Text = "Nokia S60智能手机中病毒引起的异常死机现象;" & vbCrLf & "使用非诺基亚标配的原装电池,触点接触不正常无法正常供电。"
    wd.ActiveDocument.Tables(1).Cell(10, 1).Range.Text = "刷新机内Flash内存后故障修复;" & vbCrLf & "非保修条例范围;"
    wd.ActiveDocument.Tables(1).Cell(12, 2).Range.Text = "3206-071022-CN"
    wd.ActiveDocument.Tables(1).Cell(13, 2).Range.Text = "南通市十字街诺基亚手机维修站"
    wd.ActiveDocument.Tables(1).Cell(14, 2).Range.Text = "蒋和平"
    wd.ActiveDocument.Tables(1).Cell(14, 4).Range.Text = "320670124"
    wd.ActiveDocument.Tables(1).Cell(15, 2).Range.Text = Date$ & " " & Time$
   
    '开始打印
    wd.Visible = False
    wd.ActiveDocument.PageSetup.PaperSize = wdPaperA4
    wd.PrintOut
    iret = wd.ActiveDocument.Application.Caption
    iwait = GetTickCount
    While (GetTickCount - wait) / 1000 < 3
        DoEvents
    Wend
    wd.Quit False
    MsgBox "已经成功地创建了打印文档!", vbInformation, "打印完成"
End Sub

以上是关于Office集成之Word模板的套打的主要内容,如果未能解决你的问题,请参考以下文章

java 调用word模板实现循环套打生成word文档

如何编辑Microsoft Office Word 2003默认的Normal.dot模板文件

通过模板导出word

怎样在word中提取模板

word出现无法打开office open XML文件,因为内容有错误,该怎么办?

C#操作word模板插入文字图片及表格详细步骤