控制打印机自动打印表格

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB控制EXCLE自动打印表格

VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此充分利用EXECL的强大报表功来实现报表功能。但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。一、VB

读写EXCEL表:VB本身提自动化功能可以读写EXCEL表,其方法如下:

1、在工程中引用Microsoft Excel类型库:从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library (EXCEL2003),然后选择"确定"。表示在工程中要引用EXCEL 类型库。

2、在通用对象的声明过程中定义EXCEL对象:Dim excel As Object

Dim workbook As Object

Dim sheet As Object3、在程序中操作EXCEL表常用命令:Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件

xlApp.Visible = True '设置EXCEL对象可见(或不可见)

Set xlSheet = xlBook.Worksheets("表名") '设置活动工作表xlSheet.Cells(row, col) =值'给单元格(row,col)赋值

xlSheet.PrintOut '打印工作表

xlBook.Close (True) '关闭工作簿

xlApp.Quit '结束EXCEL对象

Set xlApp = Nothing '释放xlApp对象

xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏

4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL 对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL 对象,则VB程序会产生自动化错误。形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。二、EXCEL的宏功能:EXCEL提供一个Visual Basic编辑器,打开Visual Basic 编辑器,其中有一工程属性窗口,点击右键菜单的"插入模块",则增加一个"模块1",在此模块中可以运用Visual Basic语言编写函数和过程并称之为宏。其中,EXCEL有两个自动宏:一个是启动宏(Sub Auto_Open()),另一个是关闭宏(Sub Auto_Close())。它们的特性是:当用EXCEL打含有启动宏的工簿时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作簿时就会自动运行关闭宏。但是通过VB的自动化功能来调用EXCEL工作表时,启动宏和关闭宏不会自动运行,而需要在VB中通过命令xlBook.RunAutoMacros (xlAutoOpen)和xlBook.RunAutoMacros (xlAutoClose) 来运行启动宏和关闭宏。三、VB与EXCEL的相

互勾通:充分利用EXCEL的启动宏和关闭宏,可以实现VB 与EXCEL的相互勾通,其方法如下:在EXCEL的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。VB程序在执行时通过判断此标志文件存在与否来判断EXCEL是否打开,如果此标志文件存在,表明EXCEL对象正在运行,应该禁止其它程序的运行。如果此标志文件不存在,表明EXCEL对象已被用户关闭,此时如果要使用EXCEL对象运行,必须重新创建EXCEL对象。四、VB控制EXCLE自动打印表格:1、在VB中,建立一个FORM2,界面如下:其中要求输入的参数是原表格的纵列,即A列对应1、B列对应2、A列对应1、C列对应3、D列对应4、E列对应5,依此类推,打印时间是控制每打一张表所须时间,单位为毫秒(ms)。当把值设为0时,对应单元格的内容不变,以便灵活应用,须把要打印的表放到C盘,放到别处须要改变程序。

。然后在其中输入如下程序:

Option Explicit

Public uint As Integer '单位名称Public goods As Integer '设备名称Public number As Integer '设备编号Public address As Integer '出厂地址Public modle As Integer '设备型号Public reference As Integer '参考Public result As Integer '检定结果Public dates As Integer '检定日期

Public death As Integer '检定日期

Public cel As Integer '打印张数

Public time As Integer '打印时间

Private Sub Command1_Click()

Form2.Hide

Form1.Show

End Sub

Private Sub Command3_Click()

uint = Val(Text1.Text) '单位名称

goods = Val(Text2.Text) '设备名称

modle = Val(Text3.Text) '设备型号

address = Val(Text4.Text) '出厂地址

number = Val(Text5.Text) '设备编号reference = Val(Text6.Text) '参考

result = Val(Text7.Text) '检定结果

dates = Val(Text8.Text) '检定日期

time = Val(Text9.Text) '打印时间

death = Val(Text10.Text) '有效期至

MsgBox "!^-^ 参数修改成功^-^!"

End Sub

Private Sub Form_Initialize() '数据初始化cel = 1 '打印张数

uint = 1 '单位名称

相关文档
最新文档