【问题标题】:VB Code to Export Multiple pages into a single PDF File将多个页面导出到单个 PDF 文件的 VB 代码
【发布时间】:2022-11-24 02:01:52
【问题描述】:

这个小的 VB 块从第 1 卷迭代到最后(从 sheet1 收集数据并获得结果。 但不幸的是,它只导出最后一个结果而不是所有迭代结果。 我想要的只是将所有迭代结果导出到所述路径上的单个 pdf 文件中。

Sub printPDF()
For n = 5 To 15 
RollNo = Sheets("Sheet1").Cells(n, "A")
StudentName = Sheets("Sheet1").Cells(n, "C")
Sheets("Results").Cells(13, "M") = RollNo
Next n
Sheet7.ExportAsFixedFormat xlTypePDF, "C:\result\" & RollNo & "-" & StudentName & ".pdf", , , False, , , False
End Sub

我认为代码没有将迭代结果保存到它的队列中,因为它工作正常但只打印最后一个结果,

【问题讨论】:

  • Sheet7.ExportAsFixedFormat xlTypePDF, "C:\result\" & RollNo & "-" & StudentName & ".pdf", , , False, , , False 行在您的For 语句之外,将其移到Next n 上方,使其成为循环的一部分。

标签: excel vba


【解决方案1】:

如果导出 10 张(每次迭代一张):

Sub printPDF()
For n = 5 To 15 
RollNo = Sheets("Sheet1").Cells(n, "A")
StudentName = Sheets("Sheet1").Cells(n, "C")
Sheets("Results").Cells(13, "M") = RollNo
Sheet7.ExportAsFixedFormat xlTypePDF, "C:
esult" & RollNo & "-" & StudentName & ".pdf", , , False, , , False
Next n
End Sub

如果要导出一张表并将所有迭代值连接到导出的文件名中:

Sub printPDF()
RollNo = ""
StudentName = ""
For n = 5 To 15 
RollNo = RollNo & "-" & Sheets("Sheet1").Cells(n, "A")
StudentName = StudentName & "-" & Sheets("Sheet1").Cells(n, "C")
Sheets("Results").Cells(13, "M") = RollNo
Next n
Sheet7.ExportAsFixedFormat xlTypePDF, "C:
esult" & RollNo & "-" & StudentName & ".pdf", , , False, , , False
End Sub

如果这不是您想要做的,请提供更多详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多