2013-06-29 3 views
1

내가 엑셀에서 PDF로 인쇄하기 위해 다음과 같은 솔루션을 사용하여 시도했다 :이 솔루션은 다른 사람들을 위해 일한 것 같다 동안엑셀 : VBA가 PDF로 인쇄하기 - 실행 시간 오류 1004

Excel 2013 Print to PDF in VBA

, 그것을 필자의 경우 런타임 오류 1004가 발생합니다. 왜이 사람이 더 많은 아이디어를 가질 수 있습니까? 나는 aroudn을 수색하고 아직도 이유가 무엇 일지 모를 수 없다? 내 Excel 버전이 다를 수 있습니까 (2007 년 사용)?

원래 솔루션으로 만든 유일한 수정은 파일 경로를 변경하여 내 데스크톱에 저장하는 것이 었습니다. 내 코드는 다음 내보내는 워크 시트이 더 포함되어있는 경우

Sub Invoice_to_PDF() 
'Saves the invoice print area to a PDF file 

Dim fp As String 
Dim wb As Workbook 
Dim ws As Worksheet 

fp = "C:\Users\[username]\Desktop\NewInvoice.pdf" 
Set wb = ActiveWorkbook 
Set ws = Worksheets("Invoice") 

ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fp, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True 


End Sub 
+0

은 2007 년과 2010 년 모두 정상적으로 작동합니다 ... 오류가 정확히 어느 라인에 있습니까? –

+1

[code] wb.ExportAsFixedFormat [/ code] 행에 있습니다. 파일 경로를 변경하더라도 작동합니까? 경로가 유효하지 않을 수 있다고 이미 생각 했습니까? – Matthias

+0

예, 정확하게 가능합니다. 이것이 이유 일 것입니다 ...! –

답변

1

그래서이 작업 코드가 윈도우 사용자를 위해 지금은 (맥 OS는 파일 경로를 조정해야 할 수도 있습니다) 데이터가 없으면 내보내기가 실패합니다. 누군가가 답을 찾지 못한 MrExcel 포럼에서이 솔루션을 발견했습니다!

0

:

Sub Invoice_to_PFD() 
     'Saves the invoice print area to a PDF file 

     Dim fp As String 
     Dim wb As Workbook 

     fp = "C:\desktop\NewInvoice.pdf" 
     Set wb = ActiveWorkbook 

     wb.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fp, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True 

End Sub