Если я правильно понимаю ваш вопрос, вы пытаетесь ответить в VBA на пользователя, нажимающего на якорь? Если это так, вам нужно создать EventHandler для события OnClick. Для этого вы должны реструктурировать свой код в соответствии со следующими критериями:
- Вы должны объявить указанную переменную Anchor, используя ключевое слово «WithEvents», чтобы отвечать на события.
- Чтобы использовать ключевое слово «WithEvents», вы должны объявить переменную Anchor на уровне модуля.
- Вы также должны быть внутри модуля Class , чтобы использовать ключевое слово WithEvents.
- Наконец, вам нужно создать сам обработчик событий с помощью выпадающего меню в верхней части VBE или просто вставить код ниже.
Как использовать код:
Создайте модуль класса с именем «MyClass» и вставьте следующее:
Option Explicit
Private WithEvents ieAnchor As MSHTML.HTMLAnchorElement
Public Sub Main()
Dim iePage As MSHTML.HTMLDocument
Set iePage = ieApp.document
Set ieAnchor = iePage.getElementsByTagName("A").Item(5)
End Sub
Private Function mobjMyAnchor_onclick() As Boolean
''//Your Code Here
End Function
Чтобы использовать код в классе, вы можете добавить стандартный модуль и вызвать код следующим образом:
Public Sub Example()
Dim objMyClassVariable As MyClass
Set objMyClassVariable = New MyClass
objMyClassVariable.Main
End Sub
Edit:
Для вызова функции JavaScript вы можете просто использовать схему URL-адреса JavaScript с методом InternetExplorer.Navigate. Пример: ie.Navigate "JavaScript:SomeFunc()"
. Или вы можете просто вызвать щелчок, используя метод HTMLAnchorElement.Click: ieAnchor.Click
.