excel 打印 VBA 问题
PrivateSubWorkbook_BeforePrint(CancelAsBoolean)Sheets(1).Range("a1").Value=Sheets(1)....
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets(1).Range("a1").Value = Sheets(1).Range("a1").Value + 1
End Sub
我设置的是打印一次单元格A1+1
然后我发现为什么是单元格A1+1后才打印.
比如说我打印的时候看到的A1单元格内数字是1 然后按了打印后打出来的单元格数字变成2了.
beforeprint打印之前执行A1+1
追问那请问怎么能打印之后执行A1+1
怎么写。感谢 展开
Sheets(1).Range("a1").Value = Sheets(1).Range("a1").Value + 1
End Sub
我设置的是打印一次单元格A1+1
然后我发现为什么是单元格A1+1后才打印.
比如说我打印的时候看到的A1单元格内数字是1 然后按了打印后打出来的单元格数字变成2了.
beforeprint打印之前执行A1+1
追问那请问怎么能打印之后执行A1+1
怎么写。感谢 展开
6个回答
展开全部
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False '不触发BeforePrint事件
ActiveSheet.PrintOut
Sheets(1).Range("a1").Value = Sheets(1).Range("a1").Value + 1
Application.EnableEvents = True
Cancel = True '取消打印
End Sub
Application.EnableEvents = False '不触发BeforePrint事件
ActiveSheet.PrintOut
Sheets(1).Range("a1").Value = Sheets(1).Range("a1").Value + 1
Application.EnableEvents = True
Cancel = True '取消打印
End Sub
追问
有用.就是这个选择打印机那里怎么没有了?能不能指定打印机号?
追答
你可以用
dim pnt as printer
for each pnt in printers
next
遍历打印机,
用 Application.ActivePrinter=打印机的名字
选择
具体代码你自己写吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询