我最近在我的代码中发现了一个新的错误,它似乎即将到来,因为我没有考虑到鬼形状(ID 231)
鬼影形状没有主名称或显示的文字(根据形状报告)
在这种情况下,它隐藏在我的工作表/页面的某处。如何通过VBA使用特定ID调用它来选择它?
如果形状ID是这样,那么将它向前移动并将其着色为红色会有所帮助(或纯粹选择它会有所帮助)
谢谢!
答案 0 :(得分:3)
Sub SetHiddenShape()
Dim vPag As Visio.Page
Dim vShp As Visio.Shape
'Assumes target page is activepage (which might not be the case)
Set vPag = ActivePage
Set vShp = vPag.Shapes.ItemFromID(231)
vShp.BringToFront
vShp.CellsU("FillForegnd").FormulaU = "=RGB(200, 50, 50)"
'and to select the the shape:
ActiveWindow.Select vShp, VisSelectArgs.visDeselectAll + VisSelectArgs.visSelect
End Sub
请注意,BringToFront
对象上也可以使用Selection
方法,因此您也可以在此处使用它。