我目前正在使用ShellExecute使用以下代码打印PDF。
PDF正在与其他(Word)文档一起打印。但是,我需要它们按特定顺序打印出来,这是一个问题,因为PDF需要更长的时间才能发送。
有没有办法检查PDF是否已发送到打印机,然后再转到下一行代码?
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
ShellExecute Application.hwnd, "Print", formPath, 0&, 0&, 0&`
答案 0 :(得分:1)
在这里阅读很多,老实说,高于我的技能,但它似乎回答了你的问题。
它也可以像检查打印机队列中的计数一样简单。如果前一个文件是.PDF,那么只有在队列计数等于零时才打印下一个文件。
打印机队列计数... http://visualbasic.happycodings.com/applications-vba/code9.html
大量的打印机选项...... http://www.merrioncomputing.com/Programming/WatchPrinter.htm