Как назначить гиперссылку и событие onaction для объекта фигур в Excel - PullRequest
1 голос
/ 03 декабря 2010

В Microsoft Excel VBA я пытаюсь назначить гиперссылки и / или действия для фигур, которые я нарисовал. Вот примерно то, что я пробовал (раскомментируйте только одну строку за раз)

По сути, я хочу, чтобы пользователи получали больше информации, щелкая объект формы. Гиперссылки хороши, но идеальным будет какой-то обработчик событий, который принимает параметры. Я буду создавать сотни таких фигур, и они должны ссылаться на уникальные места в документе.

  Dim destinationHyperlinkCell as Range
  set destinationHyperlinkCell = Range("10:10")
  ' (do some stuff here)...
  With Sheet1.Shapes.AddTextbox(msoTextOrientationHorizontal, _
                      600, _
                      600, _
                      300, _
                      16)
    .TextFrame.Characters.Text = "Test this thing"
    .Name = destinationHyperlinkCell.Address & " group of shapes"
    '.Hyperlink.Address = destinationHyperlinkCell.Address
    '.Hyperlink.Range = destinationHyperlinkCell.Address
    '.OnAction = "'showDebugMsg """ & .Name & """'"
  End With

1 Ответ

1 голос
/ 03 декабря 2010

используйте "Assign Macro ...", чтобы определить макрос для каждой фигуры, который срабатывает при "Click"

Вы можете использовать один и тот же макрос для каждой фигуры и использовать свойство Application.Caller, чтобы получить имя фигуры, которая запустила макрос. Затем у вас есть все компоненты для написания интеллектуального обработчика - например, (скрытой) таблицы Excel, которая преобразует имя фигуры в URL, текст или что-либо еще

Sub Shape_Click()
    MsgBox "Co-Cooo! from" & Application.Caller
End Sub

Надеюсь, что поможет

Удачи - MikeD

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...