我有一个问题,当我通过VBA导出到PDF时,我的迷你图不会被打印出来。我浏览了你的网站和其他一些网站,试图想出一个解决方案。不幸的是我无法让它发挥作用。
我是唯一使用该应用程序的人,因此该过程完全可见。我试图在导出行之前执行以下所有操作,以使迷你图获得“刷新”:
application.screenupdating = false然后application.screenupdating = true
application.visible = true(基于此处的论坛,即使它从未隐藏过)
选择迷你线所在的单元格
选择迷你线所在的整张纸
select.copy迷你线所在的单元格
application.wait查看它是否会刷新
application.calculate以查看它是否会刷新
我真的想不出任何其他的尝试。电子表格旨在为单个实体创建报告,打印报告,然后继续为其他实体创建下一个报告(从Access提取数据,创建超过200个10页报告)。
感谢任何帮助。
谢谢 - 克里斯。
答案 0 :(得分:2)
我遇到了同样的问题,我尝试了所有列出的想法以及DoEvents
,但在测试了第一行的代码行后发现有问题的代码是:
.Axes.Vertical.MinScaleType = xlSparkScaleGroup
出于某种原因xlSparkScaleGroup
干扰了页面上迷你图的更新,当我尝试更新 - 打印 - 更新 - 打印时 - 表格中缺少迷你图。我的解决方案是简单地删除此代码,然后手动设置比例。像这样:
.Axes.Vertical.MinScaleType = xlSparkScaleCustom
.Axes.Vertical.CustomMinScaleValue = Application.WorksheetFunction.Min(Range(SLAddress))
.Axes.Vertical.MaxScaleType = xlSparkScaleCustom
.Axes.Vertical.CustomMaxScaleValue = Application.WorksheetFunction.Max(Range(SLAddress))
其中SLAddress
是我正在使用的迷你图数据的地址。我希望这有助于解决您的问题,也许微软会解决这个问题。
答案 1 :(得分:1)
必须使用临时文件才能实现。基本上使用'savecopyas'将当前文件保存为临时文件,然后打开临时文件(允许它刷新迷你图)执行打印,关闭临时文件,然后重新开始该过程。
希望他们能在某些时候解决这个问题。
克里斯。