我想导入一组彼此稍微偏移的图形(作为jpeg图像)以构建表面图。由于每张图像都覆盖在前一张图像上,因此我需要设置其透明颜色,以便它们全部显示出来。我无法设置透明度。
n = 1
Do While MyFile <> "" ' Start the loop.
myDocument.Shapes.AddPicture _
FileName:=MyPath & "\" & MyFile, _
LinkToFile:=msoTrue, _
SaveWithDocument:=msoTrue, _
Left:=PosLeft, Top:=PosTop, Width:=SpecWidth, Height:=SpecHeight
With myDocument.Shapes(n)
With .PictureFormat
.TransparentBackground = msoTrue
.TransparencyColor = vbBlack
End With
.Fill.Visible = msoFalse
End With
PosLeft = PosLeft + IncLeft
PosTop = PosTop + IncTop
MyFile = Dir() ' Get next entry.
n = n + 1
Loop
答案 0 :(得分:0)
VBA对象模型中还没有透明性。您尝试使用的命令是为图像设置单一透明颜色的较旧方法。
可以使形状透明。如果为透明形状填充图片,则图片将变为透明。这是具有该解决方法的页面:Use VBA to Make a Picture Transparent in Microsoft Office