vb控制打印机自动打印表格Word格式文档下载.docx

上传人:b****4 文档编号:7154116 上传时间:2023-05-08 格式:DOCX 页数:12 大小:202.13KB
下载 相关 举报
vb控制打印机自动打印表格Word格式文档下载.docx_第1页
第1页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第2页
第2页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第3页
第3页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第4页
第4页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第5页
第5页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第6页
第6页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第7页
第7页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第8页
第8页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第9页
第9页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第10页
第10页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第11页
第11页 / 共12页
vb控制打印机自动打印表格Word格式文档下载.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

vb控制打印机自动打印表格Word格式文档下载.docx

《vb控制打印机自动打印表格Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《vb控制打印机自动打印表格Word格式文档下载.docx(12页珍藏版)》请在冰点文库上搜索。

vb控制打印机自动打印表格Word格式文档下载.docx

Excel.Application"

)'

创建EXCEL对象

SetxlBook=xlApp.Workbooks.Open("

文件名"

打开已经存在的EXCEL工件簿文件

xlApp.Visible=True'

设置EXCEL对象可见(或不可见)

SetxlSheet=xlBook.Worksheets("

表名"

设置活动工作表

xlSheet.Cells(row,col)=值'

给单元格(row,col)赋值

xlSheet.PrintOut'

打印工作表

xlBook.Close(True)'

关闭工作簿

xlApp.Quit'

结束EXCEL对象

SetxlApp=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提供一个VisualBasic编辑器,打开VisualBasic编辑器,其中有一工程属性窗口,点击右键菜单的"

插入模块"

,则增加一个"

模块1"

,在此模块中可以运用VisualBasic语言编写函数和过程并称之为宏。

其中,EXCEL有两个自动宏:

一个是启动宏(SubAuto_Open()),另一个是关闭宏(SubAuto_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盘,放到别处须要改变程序。

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

OptionExplicit

PublicuintAsInteger'

单位名称

PublicgoodsAsInteger'

设备名称

PublicnumberAsInteger'

设备编号

PublicaddressAsInteger'

出厂地址

PublicmodleAsInteger'

设备型号

PublicreferenceAsInteger'

参考

PublicresultAsInteger'

检定结果

PublicdatesAsInteger'

检定日期

PublicdeathAsInteger'

PubliccelAsInteger'

打印张数

PublictimeAsInteger'

打印时间

PrivateSubCommand1_Click()

Form2.Hide

Form1.Show

EndSub

PrivateSubCommand3_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"

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

"

PrivateSubForm_Initialize()'

数据初始化

cel=1'

uint=1'

goods=2'

number=3'

address=4'

modle=5'

reference=6'

result=7'

dates=8'

death=9'

time=2000'

打印时间间隔

PrivateSubCommand2_Click()

End

建立一个FORM1,界面如下:

Dimpresent%

PrivateSubCommand1_Click()'

打开EXCLE表格

IfDir("

C:

\excel.bz"

)="

Then

Setexcel=CreateObject("

excel.application"

Setworkbook=excel.Workbooks.Open("

c:

\自动打印表格.xls"

Setsheet=workbook.WorkSheets

excel.Visible=True

workbook.Application.Run"

auto_open"

excel.WorkSheets

(2).Activate'

设置表2为活动表

IfForm2.uint<

>

0Thensheet

(2).Cells(1,2)=sheet

(1).Cells(Form2.cel,Form2.uint)'

IfForm2.goods<

0Thensheet

(2).Cells(2,2)=sheet

(1).Cells(Form2.cel,Form2.goods)'

产品名称

IfForm2.number<

0Thensheet

(2).Cells(3,3)=sheet

(1).Cells(Form2.cel,Form2.number)'

IfForm2.address<

0Thensheet

(2).Cells(4,2)=sheet

(1).Cells(Form2.cel,Form2.address)'

设备厂址

IfForm2.modle<

0Thensheet

(2).Cells(5,2)=sheet

(1).Cells(Form2.cel,Form2.modle)'

IfForm2.reference<

0Thensheet

(2).Cells(6,2)=sheet

(1).Cells(Form2.cel,Form2.reference)'

分度号

IfForm2.result<

0Thensheet

(2).Cells(7,2)=sheet

(1).Cells(Form2.cel,Form2.result)'

IfForm2.dates<

0Thensheet

(2).Cells(11,2)=sheet

(1).Cells(Form2.cel,Form2.dates)'

IfForm2.death<

0Thensheet

(2).Cells(12,3)=sheet

(1).Cells(Form2.cel,Form2.death)'

Else

EXCL已打开!

EndIf

PrivateSubCommand2_Click()'

关闭退出表格

)<

"

auto_close"

Setexcel=Nothing

workbook.Close(True)

Form1.Hide

Form2.Show

PrivateSubCommand3_Click()'

暂停打印

^-^请打开要打印的表格^-^!

Timer1.Enabled=False

^-^打印暂停^-^!

&

Chr(10)&

^-^已打印"

Form2.cel-present-1&

张^-^!

PrivateSubCommand4_Click()'

继续打印

Timer1.Interval=Form2.time

Timer1.Enabled=True

PrivateSubCommand5_Click()'

开始打印

present=0

Form2.cel=1

PrivateSubCommand6_Click()'

下一张

present=present+1

0Thensheet

(2).Cells(1,2)=sheet

(1).Cells(present,Form2.uint)'

0Thensheet

(2).Cells(2,2)=sheet

(1).Cells(present,Form2.goods)'

0Thensheet

(2).Cells(3,3)=sheet

(1).Cells(present,Form2.number)'

0Thensheet

(2).Cells(4,2)=sheet

(1).Cells(present,Form2.address)'

0Thensheet

(2).Cells(5,2)=sheet

(1).Cells(present,Form2.modle)'

0Thensheet

(2).Cells(6,2)=sheet

(1).Cells(present,Form2.reference)'

0Thensheet

(2).Cells(7,2)=sheet

(1).Cells(present,Form2.result)'

0Thensheet

(2).Cells(11,2)=sheet

(1).Cells(present,Form2.dates)'

0Thensheet

(2).Cells(12,3)=sheet

(1).Cells(present,Form2.death)'

PrivateSubCommand7_Click()'

上一张

present=present-1

Ifpresent<

=0Thenpresent=1

PrivateSubCommand8_Click()'

从当钱页打印

Form2.cel=present

PrivateSubForm_Load()

PrivateSubTimer1_Timer()

Dima$

a=sheet

(1).Cells(Form2.cel,2)'

如果单位名称为“”则打印结束

Ifa<

excel.ActiveSheet.PrintOut'

打印输出

Form2.cel=Form2.cel+1

^-^表格已打完^-^!

^-^共打印"

4、运行VB程序,输入参数点击确定按钮可完成参数的修改,打印时间是控制每打一张表所须时间,打开EXCEL系统后,VB程序和EXCEL分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提示EXCEL已打开。

如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开EXCEL。

而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。

这样就实现了VB与EXCEL的无缝连接。

欢迎您的下载,资料仅供参考!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2