2016-09-08 2 views
1

недавно я узнал новую ошибку приходя в моем коде, и это, кажется, приходит, потому что я не учитывал форму призрака (ID 231)Выберите (привидение) формы скрыты в Visio

призрака форма не имеют имени мастера или отображаемого текста (согласно отчету о форме)

В этом случае он скрыт где-то на моем листе/странице. Как выбрать его с помощью VBA, вызвав его с помощью определенного идентификатора?

Если форма идентификатор это, то привести его вперед и окрашивать его в красный цвет поможет (или просто, чтобы выделить его бы помочь)

Спасибо!

ответ

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 объекта, чтобы вы могли использовать его оттуда, а также.

+0

Большое вам спасибо! Это очень полезно! – Dingo