打印透明形状

时间:2014-07-23 10:47:18

标签: excel vba printing transparency shapes

我有一张我工作的仓库地图,我正在尝试制作一个在某个过道内发生的活动热图。

我设法通过在每个过道上放置永久红色形状来使VBA工作,然后根据过道的百分比调整每个盒子的透明度。

它在屏幕上看起来很棒,但我尝试打印的多种方法都不起作用;

预期输出(这是它在屏幕上的样子):

我尝试的各种方法都产生相同的结果,包括: -

  • 直接打印

  • 另存为PDF

  • 以PDF格式打印(我们有PDF虚拟打印机)

  • 将范围保存为位图

  • 将屏幕复制到图表中,然后将图表保存为图像

导出为PDF格式: -

保存为位图: -

当它被打印时,它在红色区域内有不同的图案,从我发现的,每个图案代表一定的透明度。

如果没有在我的键盘上使用PRTSCN来获取它并将其粘贴到油漆中,我不知道如何继续前进。这需要完全自动化(即每天可通过电子邮件发送和打印),因此PRTSCR不是一个真正的选择。

非常感谢任何想法。

1 个答案:

答案 0 :(得分:0)

对于那些设法遇到这种情况的人来说,我最后做的是得到255的百分比并设置形状的RGB颜色值。

以下伪代码示例:

for each shp in Activesheet.Shapes
    newTrans = 255 * Sheet5.Range("P" & i).Value 'New transparency
    Shp.Select
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, newTrans, newTrans)
    DoEvents
next shp

根据sheet5的百分比,这将产生红色阴影。