Мне нужна ссылка на выбранную (с помощью щелчка мыши, это должен быть только один выбор) фигуры в Visio. Однако форма может быть в группе.
Кажется, я не могу заставить его работать, когда я выбираю фигуру в группе, объект shp остается пустым.
Sub selectTest()
Dim sel As Visio.Selection
Set sel = ActiveWindow.Selection
Dim shp As Visio.Shape
Set shp = sel.PrimaryItem
If Not shp Is Nothing Then
MsgBox "It worked"
Else
MsgBox "No shape in sel"
End If
End Sub
Когда выбрана группа «Верхний уровень», она работает.
Когда выбирается фигура внутри группы, которая также может быть самой группой, это не так.
Когда фигура, не входящая в группу, выбрана, она снова работает.
Контекст: я хочу запустить пользовательский код VBA из контекстного меню. Когда вы щелкаете правой кнопкой мыши форму, она выбирается автоматически.
Как я могу получить ссылку на фигуру, когда она находится в группе?
РЕДАКТИРОВАТЬ: для уточнения: все фигуры внутри моего документа имеют соответствующие записи базы данных. Я хочу (через XML) добавить пользовательскую кнопку Удалить в контекстное меню (это работает), это должно вызвать метод delete, который получает форму, по которой метод был вызван в качестве параметра, чтобы он мог искать соответствующую запись в БД и удалять что (а также записи любых подформ, если выбранная фигура является группой) перед удалением фигуры (и всех ее подформ) с помощью shape.delete