首页 > 解决方案 > Excel VBA使用调用过程循环

问题描述

任何有关调用程序的最佳实践的建议将不胜感激。已尝试将其设置在 OnSelectionChange 上,但没有成功。DocumentComplete 包含一个 END,它是阻止 Application.Speech 重复所必需的。下面是代码。

Sub AutoDomain()
'HOW TO LOOP?
    Dim xURL As String
    ActiveWorkbook.Save
    ActiveCell.Offset(1, 0).Select
    Application.Speech.Speak "Starting Look Up", Speakasync:=True, Purge:=True
    xURL = Cells(ActiveCell.Row, 1)
    Cells(1, 3).Value = ""
    Cells(1, 3).Interior.ColorIndex = xlNone
    Cells(1, 3).Borders.Color = xlNone
    Cells(ActiveCell.Row, 3).Value = ""
    WebBrowser1.Silent = True
    WebBrowser1.Navigate (xURL)
    Sheets(1).Calculate
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    WebBrowser1.Stop
    URL = Cells(ActiveCell.Row, 1)
    Cells(1, 3).Value = WebBrowser1.LocationURL
    Cells(1, 3).Interior.ColorIndex = 19
    Cells(1, 3).Borders.Color = vbRed
    Cells(ActiveCell.Row, 3).Value = "DOMAIN : " & WebBrowser1.LocationURL & vbCrLf & "TITLE  : " & WebBrowser1.LocationName
    Do Until Cells(ActiveCell.Row, 3).Value <> ""
        DoEvents
    Loop
    Application.Speech.Speak " Look Up Completed ", Speakasync:=True, Purge:=True
    End
    Exit Sub
End Sub

标签: excelvba

解决方案


推荐阅读