找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
试了好久,用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弱。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!