使用excel vba创建多个PDF时内存不足

时间:2019-03-21 21:18:39

标签: excel vba pdf

我正在Excel中创建数百个报告,并将其另存为PDF。如果删除“保存为PDF”例程,它将处理所有报告。当我将例程添加回去时,它变得非常脆弱,有时将其增加到20,有时又增加到60,有时甚至是全部250。 错误提示时,会显示一条内存错误消息,显示为计划白框。我按Cntrl-C进行复制,然后将其粘贴到记事本中,以查看错误消息,即内存错误。

我也尝试过将报告另存为Jpg,但是内存存在相同的问题。

创建的PDF文件约为186KB,excel文件为466KB。 使用Office 365 64位并在我的计算机上具有16gig的ram和超过600 g的可用磁盘空间。

下面是我用来生成PDF的代码,有什么建议吗?

我浏览了有关该主题的其他帖子,但没有找到答案,而且它们都已经有好几年了。

Sub CreatePDFSave(sFileName As String)
Dim sPathFile As String
Dim wks As Worksheet

Set wks = Sheet5
sPathFile = Environ$("UserProfile") & "\Documents\"

sFileName = sPathFile & sFileName

wks.Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    sFileName & ".pdf" _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False

Set wks = Nothing

End Sub

1 个答案:

答案 0 :(得分:0)

该过程似乎在运行时内存不足,并且仅仅是所使用软件中的内存泄漏,您可能想尝试一下更现代的Excel to PDF工具:

我的公司有一个FLIP2PDF工具,可以将Office文件转换为PDF。