批量制作具有不同excel行的PDF

时间:2018-09-17 20:54:51

标签: excel ms-office

我不确定这是否可以在excel中使用,但是由于它具有许多强大的功能,我想可能有一种方法。
我有一张Excel表格,其中包含多行数据。
我有工作表2,该工作表基本上是该数据的可打印版本,但是它仅对应于一行数据。
有没有一种方法可以让我批量保存工作表2的PDF,但每行各不相同? 例如,A2,B2,C2,D2包含分散在工作表2不同部分的某些数据。我想填充它们并另存为PDF,然后我希望A3,B3,C3和D3重新填充字段&覆盖先前的声音并保存一个新名称的PDF(或只是连续的)。
有可能吗?
我对Access的VBA有一点经验,对Swift和其他编程语言也有一些经验,所以我了解一些基础知识。

1 个答案:

答案 0 :(得分:1)

实际的解决方案将取决于您的数据如何分级,但是作为示例,请考虑以下数据。

enter image description here

在工作表2上,将打印区域设置为希望PDF包含的部分。

然后,此循环将为在工作表1的A列中找到的每个ID创建PDF。

Private Sub exportToPDFLoop()

    Dim rng As Range
    Dim c As Range

    With ThisWorkbook.Sheets("Sheet1")
        Set rng = Intersect(.Range("A:A"), .UsedRange)
    End With

    For Each c In rng

        'Skip Row 1 (headers)
        If c.Row > 1 Then

            With ThisWorkbook.Sheets("Sheet2")

                .Range("B1").Value = c.Value

                .Calculate

                .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                    ThisWorkbook.Path & "\testfilename_" & CStr(c.Value) & ".pdf", Quality:= _
                    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                    OpenAfterPublish:=True

            End With

        End If

    Next c

End Sub