2017-07-25 89 views
0

我使用VBA将数据从Excel文件导入到Visio中,并且还需要在Visio文件中包含不在我的Excel文件中但保存在本地的图像。我需要能够类似于形状对象操作图像(即;使用VBA设置其宽度/高度/位置,如Shape.Cells(“width”)= X等)通过VBA将图像导入到Visio

我已经看过很多在线寻求解决方案,但无济于事。任何帮助深表感谢。

回答

1

你必须定义一个要插入图片页面。阅读更多about Page.Import Method (Visio)

Set shp = ActivePage.Import("C:\Users\surrogate\Pictures\new.png") 
shp.Cells("PinX").Formula = "100 mm" 
shp.Cells("PinY").Formula = "150 mm" 
+0

哦,现在我明白了。我的Visio页面是一个独立的对象,名为AppVisio,使用我的自定义函数创建,所以我必须有:Dim shp As Object Set shp = AppVisio.ActivePage.Import(“C:\ Users \ surrogate \ Pictures \ new.png”) – Cormac

0

当你在visio中插入图像时,它变成了形状。

VisShapeTypes Enumeration (Visio)

,你可以设置自己的宽/高/ PINX /松树的像作为本地MS Visio形状

+0

我想这可能是这种情况,谢谢。我如何通过VBA实际导入形状?尝试设置图像=导入(C:\ ImagePath)或类似的不起作用。 – Cormac