Sparkline打印到PDF

时间:2011-07-27 15:00:10

标签: pdf export sparklines

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

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

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

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

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

  4. 选择迷你线所在的整张纸

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

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

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

  8. 我真的想不出任何其他的尝试。电子表格旨在为单个实体创建报告,打印报告,然后继续为其他实体创建下一个报告(从Access提取数据,创建超过200个10页报告)。

    感谢任何帮助。

    谢谢 - 克里斯。

2 个答案:

答案 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'将当前文件保存为临时文件,然后打开临时文件(允许它刷新迷你图)执行打印,关闭临时文件,然后重新开始该过程。

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

克里斯。