Управление Internet Explorer из VBA - PullRequest
0 голосов
/ 19 ноября 2018

Я создал макрос / пользовательскую форму, которая создает HTML-файл, и хочу, чтобы Internet Explorer 11 отображал страницу.
Когда вы используете пользовательскую форму, вы создаете новые данные, которые должны отображаться на странице. Как мне обновить страницу в IE11?

Я попытался использовать метаобновление, но если пользовательская форма записывает страницу в тот момент, когда IE обновляет страницу, она становится пустой и перестает обновляться.

Другой метод, который я попробовал, это sendkeys, но, похоже, он не работает.

AppActivate "The page - Internet Explorer"
SendKeys "{F5}", True

ничего не происходит.

Есть ли другие варианты, чтобы страница обновлялась и всегда была видна? (то есть не обновлять, когда файл используется пользовательской формой)

1 Ответ

0 голосов
/ 20 ноября 2018

Если страница уже открыта, вам нужно найти эту конкретную страницу, а затем попытаться обновить ее. Вы можете попытаться найти страницу по заголовку.

См. Пример кода ниже.

Sub demo1()
flag = 0
Set objShell = CreateObject("Shell.Application")
IE_count = objShell.Windows.Count
For x = 0 To (IE_count - 1)
    On Error Resume Next
    my_url = objShell.Windows(x).Document.Location
    my_title = objShell.Windows(x).Document.Title

    If my_title Like "Microsoft" & "*" Then
        Set ie = objShell.Windows(x)
        ie.Refresh
        flag = 1
        Exit For
    Else
    End If
Next

If flag = 0 Then
    Debug.Print ("A matching webpage was NOT found")
Else
    Debug.Print ("A matching webpage was found")
End If
End Sub

Попробуйте изменить заголовок в коде, чтобы он соответствовал вашей веб-странице.

...