1

我有一个问题,当我通过 VBA 导出到 PDF 时,我的迷你图没有打印出来。我浏览了您的网站和其他一些网站,试图提出解决方案。不幸的是,我无法让它工作。

我是唯一使用该应用程序的人,因此该过程是完全可见的。我尝试在导出线之前执行以下所有操作,以使迷你图“刷新”:

  1. application.screenupdating = false 然后 application.screenupdating = true

  2. application.visible = true (基于此处的论坛,即使它从未隐藏过)

  3. 选择迷你图所在的单元格

  4. 选择迷你图所在的整个工作表

  5. select.copy 迷你图所在的单元格

  6. application.wait 看看它是否会刷新

  7. application.calculate 看它是否会刷新

我真的想不出还有什么可以尝试的。该电子表格旨在为单个实体创建报表、打印报表,然后继续为不同的实体创建下一个报表(从 Access 中提取数据,创建超过 200 个 10 页报表)。

任何帮助表示赞赏。

谢谢 - 克里斯。

4

2 回答 2

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我使用的迷你图数据的地址在哪里。我希望这有助于解决您的问题,也许微软会真正解决这个问题。

于 2012-11-21T18:17:20.330 回答
1

不得不使用临时文件来实现它。基本上使用“savecopyas”将当前文件保存为临时文件,然后打开临时文件(允许它刷新迷你图)进行打印,关闭临时文件,然后重新开始该过程。

希望他们在某个时候解决这个问题。

克里斯。

于 2011-07-28T15:10:53.193 回答