实现功能,通过VBS脚本读取数据库数据,存放在画面上,使用打印按钮首先将数值记录到excel再打印出PDF文件,默认打印机已经设置为pdf打印机
目前数据已经可以存到excel,执行打印之后,后台弹出对话框,不想在后台操作,如何使用脚本设置名称??PDF文件路径?头大啊
高手请进啊
图片说明:
最佳答案
试了好久,用VBS还是不能打印出来。
还是EXCEL自带的VBA有劲啊。excel是支持直接另存为PDF的。把你的EXCEL做成.xlsm带宏的工作簿。然后把打印事件写在工作表变化的宏里,同时把路径存在一个单元格里。当这个单元格变化时,自动将工作表另存为pdf即可。
以下,以将路径存在F1单元格为例:
EXCEL的事件宏:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Address = "$F$1" And LCase(Right(Target.Value, 4)) = ".pdf" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Target.Value, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If
End Sub
然后在WINCC中,将打印语句换成一个向F1单元格赋值的句子即可。
例如:
filename=Year(Now)& Right("00" &Month(Now),2)& Right("00" & Day(Now),2)& _
Right("00" & Hour(Now),2)+Right("00" & Minute(Now),2)& Right("00" & Second(Now),2)
patch= "d:\"&filename&"demo.xlsm"
objExcelSheet.cells(1,6).value= "d:\"&filename&"demo.pdf"
objExcelBook.SaveAs patch
---------------------------------------------
以上WINCC7.52+EXCEL2016调试完毕。
VBS真TMD弱。
提问者对于答案的评价:
你是高手 谢谢
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc367872.html