http://www.accessoft.com/article-show.asp?id=17583
EXCEL VBA集成的文章,还提供了源码,然后我就开始在我的系统制作打印界面,其实就是在原来的界面添加打印按钮而已,把代码放入单击事件,并进行相应的调整。我修改后的代码如下:
vba
Private Sub btnPrint_Click()
Dim file_path As String
Dim btApp As BarTender.Application
Dim btFormat As BarTender.Format
'设置标签模板文件的路径
file_path = "\\server\打印标签\IT资产标签.btw"
Set btApp = CreateObject("bartender.application")
btApp.Visible = True 'true为打印时显示bartender主程序界面
Set btFormat = btApp.Formats.Open(file_path)
'第一个参数为标签上的“命名子字串”,第二个参数是要传递过去的值
btFormat.SetNamedSubStringValue "type", Me.sfrList![资产类型]
btFormat.SetNamedSubStringValue "serialNumber", Me.sfrList![出厂编号]
btFormat.SetNamedSubStringValue "name", Me.sfrList![资产名称]
btFormat.SetNamedSubStringValue "QRCode", Me.sfrList![资产ID]
btFormat.SetNamedSubStringValue "barCode", Me.sfrList![资产ID]
btFormat.PrintSetup.IdenticalCopiesOfLabel = 1 '设置打印的份数
'第一个true为显示打印状态窗口,第二true为显示打印对话框(这里必须要加参数,最初的代码无参,不仅不打印还害我程序卡死了N回)
btFormat.PrintOut True, True
'设置打印完毕不保存对标签文件的更改(只打印好像它也会认为有修改)
btFormat.Close btDoNotSaveChanges
btApp.Quit
End Sub