PDF 파일을 순서대로 인쇄하는 방법 (셀 목록 순서)을 이해할 수 없습니다.Excel-VBA를 사용하여 셀 목록 순으로 PDF 파일을 인쇄하는 방법은 무엇입니까?
Sub PrintPDFFiles()
zProg = "C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe"
zLastRow = [a65536].End(xlUp).Row
temp = "a1:a" & zLastRow
zPrinter = "HP LaserJet Professional M1213nf MFP "
For Each cell In Range(temp)
zFile = cell.Value
If zFile Like "*.pdf" Then
Shell """" & zProg & """/n /h /t""" & zFile & """"
End If
Next
End Sub
연구 내가 지금까지했던 :
없음 명령 줄 switch 순서대로 파일을 인쇄합니다. 제안 후
업데이트-1 MyCode :
내 코드에서 방법을 object.run 사용하고 내가 얻을 오류 :
Sub PrintPDFFiles()
zProg = "C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe"
zLastRow = [a65536].End(xlUp).Row
temp = "a1:a" & zLastRow
zPrinter = "HP LaserJet Professional M1213nf MFP "
For Each cell In Range(temp)
zFile = cell.Value
If zFile Like "*.pdf" Then
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
zCommand = zProg & " /n /h /t " & Chr(34) & zFile & Chr(34) & " " & zPrinter
wsh.Run zCommand, windowStyle, waitOnReturn
End If
Next
End Sub
오류 :
업데이트 -2 내 코드 Afte 연구 제안 :
wsh.Run """Acrobat.exe"" /n /h /t" & Chr(34) & zfile & Chr(34) & " " & zPrinter, , waitOnReturn
문제 : 나는 그러나 나는 각 파일 후 Adobe Acrobat Reader가 종료해야 실행 방법을 사용하여 인쇄 할 수 있었다. 500 개 이상의 파일을 인쇄해야합니다.
당신은 ** 셸 ** 루프에 있습니다; 다음 쉘이 시작되기 전에 하나의 ** 쉘 **이 완료 될까요? –
인쇄가 완료 될 때까지 Adobe는 열어 두시겠습니까? Adobe를 객체, 인쇄, Adobe.Quit, Do not Not Adobe Is Nothing으로 선언하면 어떨까요? 나는 Adobe를 조작하는데 너무 많은 경험이 없지만 가능한 방법이다. –
참조 : https://stackoverflow.com/questions/15951837/wait-for-shell-command-to-complete –