【问题标题】:Converting workbook in PDF without blank pages在没有空白页的 PDF 中转换工作簿
【发布时间】:2018-03-06 14:43:32
【问题描述】:

我写了一个代码,将工作表从一个工作簿导出到另一个工作簿,然后将其转换为 pdf,但是我有很多空白页(可能是因为隐藏公式或我不知道。

如果您知道要在我的代码中添加什么内容以获得一个体面的文件,我们将不胜感激。

 Workbooks.Open FileName:="C:\Users\User\Documents\Tests Salome\dailypdf.xlsx"

 Dim wbto2 As Workbook: Set wbto2 = Workbooks("dailypdf.xlsx")
 wb.Activate
For Each sht In Sheets
   If sht.Name <> "USD" And sht.Name <> "Balance" Then
      Else
     sht.Copy Before:=wbto2.Sheets(wbto2.Sheets.Count)
     Rows("140:351").EntireRow.Delete '(I tried to delete the hidden rows)

   End If
 Debug.Print sht.Name
Next

wbto2.Activate
Application.DisplayAlerts = False
Sheets("Sheet1").Delete
Application.DisplayAlerts = True


            FileName = Create_PDF(Source:=wbto2, _
                                      FixedFilePathName:=iFile, _
                                      OverwriteIfFileExist:=True, _
                                      OpenPDFAfterPublish:=False)

代码可以运行,但由于空白页,结果不让我满意..

【问题讨论】:

    标签: vba excel pdf worksheet


    【解决方案1】:

    您可以尝试以下任何选项

    1.在另存为PDF之前删除所有不需要的行。

    2.设置打印区域

    3.尝试将excel范围直接保存为PDF

        'Enter Worksheet name, range Address, PDF file path and name
        Sheets("Sheet Name").Range("A1:D50").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "C:\Temp\PDF_name.pdf", Quality:= _
            xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=True
    

    【讨论】:

    • 问题是这段代码是一个大过程的一部分,其中工作表数据发生变化,所以我不能真正给出一个范围区域,我还需要将 2 个工作表一起导出到一个 pdf 文件中
    • 我还需要将 2sheets 一起导出到一个 pdf 文件中
    • 没什么,我只需要添加两张表“eur”和“balance”
    • 在此解决方案中使用“Sheets("Sheet Name").UsedRange" 方法使其动态化。
    猜你喜欢
    • 1970-01-01
    • 2014-08-01
    • 2020-12-08
    • 2018-06-30
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 2012-05-06
    • 1970-01-01
    相关资源
    最近更新 更多