2016-07-30 10 views
2

Excelファイルが保存されているのと同じディレクトリに、ExcelシートをPDFファイルに保存する関数を作成しました。私は別のシートに同じ機能をコピーし、その後、コンテンツの一部だけを印刷するまで、すべてがうまくいっていました。ここに私のVBA関数は次のとおりです。私のExcelファイルと同じディレクトリにExcel PDFシートを保存

Sub stampa_ordine_pdf() 
    Dim sNome As String 
    Application.DisplayAlerts = False 
    On Error Resume Next 
    With ThisWorkbook 
     sPath = .Path 
     With .Worksheets("Ordine Munters") 
      sNome = "Ordine N. " & .Range("C8").Value & _ 
        " del " & Format(.Range("C7").Value, "dd-mm-yyyy") 
      .ExportAsFixedFormat _ 
        Type:=xlTypePDF, _ 
        Filename:=sPath & "\" & sNome & ".pdf", _ 
        Quality:=xlQualityStandard, _ 
        IncludeDocProperties:=True, _ 
        IgnorePrintAreas:=False, _ 
        OpenAfterPublish:=False 
     End With 
    End With 
End Sub 
+0

「Application.DisplayAlerts = False」と「On Error Resume Next」ステートメントをコメントアウトし、エラーメッセージが表示されているかどうかを確認してください。 – YowE3K

+0

私はあなたに 'IgnorePrintAreas:= False'があることに気付きました。このシートに印刷領域が設定されており、印刷されている「コンテンツの一部」の印刷領域ですか?もしそうなら、 'IgnorePrintAreas:= True'を設定して無視してください。 – YowE3K

答えて

0

私はYowE3kに同意し、エクスポートされた範囲をトリミングされた設定印刷領域は、おそらくそこにあります。

Sub stampa_ordine_pdf() 
    Dim FileName As String 
    Application.DisplayAlerts = False 
    On Error Resume Next 

    sPath = ThisWorkbook.Path 
    With Worksheets("Ordine Munters") 
     sName = "Ordine N. " & .Range("C8").Value & _ 
       " del " & Format(.Range("C7").Value, "dd-mm-yyyy") 

     FileName = ThisWorkbook.Path & "\" & sName & ".pdf" 

     .ExportAsFixedFormat _ 
       Type:=xlTypePDF, _ 
       FileName:=FileName, _ 
       Quality:=xlQualityStandard, _ 
       IncludeDocProperties:=True, _ 
       IgnorePrintAreas:=True, _ 
       OpenAfterPublish:=False 
    End With 

End Sub 
関連する問題