excel - 使用 excel vba 创建多个 PDF 时内存不足
问题描述
我在 excel 中创建数百个报告并将它们保存为 PDF。如果我删除保存到 PDF 例程,它将遍历所有报告。当我重新添加例程时,它非常不稳定,有时会达到 20 有时会达到 60 并且不时地达到所有 250。当它出错时,会给出一个内存错误消息,显示为一个计划白框。我按 Cntrl-C 复制它,然后将其粘贴到记事本中以查看错误消息,即内存错误。
我也尝试将报告保存为 Jpg,但内存也有同样的问题。
创建的 PDF 文件约为 186KB,excel 文件为 466KB。使用 Office 365 64 位并在我的计算机上有 16gig 的内存和超过 600 gig 的可用磁盘空间。
下面是我用来生成 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
解决方案
推荐阅读
- eclipse - 限制 Eclipse RCP 项目中打开的选项卡
- r - 根据日期/时间范围和匹配 id 过滤数据
- java - 如何解决读取 JSON 文件以获取名字和姓氏的失败执行?
- oracle - 使用 Cursor 的 SQL 问题 - 进行第一次交易的案例研究
- javascript - 是否可以限制本地开发服务器的上传速度?
- c++ - 在构造函数错误中将类指针作为参数传递
- python - 如何在使用 python 启动时让 selenium 登录到网站
- c++ - 我可以使 operator== virtual 来实现相等吗?
- excel - 如何将 PostgreSQL 数据库中的数据导出到 Excel 工作表?使用 vb.net 2019 windows 窗体
- sql - 基于优先级表消除重复记录