2016-07-30 201 views
2

我已经写了一个函数,可以将我的Excel工作表保存在Excel文件所在的同一目录中的PDF文件中。一切都很好,直到我将相同的功能复制到另一张纸上,然后它只打印一部分内容。这里是我的VBA函数:将Excel PDF表保存在与我的Excel文件相同的目录中

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 
相关问题