-1

私は、作業中の Internet Explorer プロセスを自動化する Excel マクロに取り組んでいます。私は信じられないほどすべてを把握しようとしていますが、最後に、マクロが [レポートのダウンロード] ボタンをクリックすると、新しいウィンドウが開きます。この新しいウィンドウでいくつかのことを開始する必要がありますが、マクロのフォーカスを新しいウィンドウに変更する方法がわかりません。オンラインでいくつかのことを見つけましたが、うまくいきませんでした。Excel にブラウザ ウィンドウの名前を探してアクティブにするように指示することで、ブラウザ ウィンドウを切り替える方法があることは知っていますが、新しいウィンドウの名前の一部は常に変化しています (その特定のウィンドウの一意の URL です)。 .

マクロがウィンドウの最初の 9 文字だけを探して、そのウィンドウに切り替える方法があるのではないかと思っていました。Excel の LEFT 関数に似ていますか? その理由は、URL の最初の 9 文字が変更されないためです。元のウィンドウ (切り替えようとしているウィンドウ) の名前は決して変更されないので、元のウィンドウとは名前が異なるブラウザ ウィンドウを探すように Excel に指示できますか? または他のアイデアはありますか?

助けてくれてありがとう

4

2 に答える 2

0

インターネット コントロールとシェルへの参照を追加する必要があります。IE ウィンドウをループして、URL の左側を見るだけです。下記参照

Function GetInternetWindow(urlToLookFor as String) As InternetExplorer

Dim winShell As Shell
Dim ie As InternetExplorer

Set winShell = New Shell
'loop through the windows and look at the urls
For Each ie In winShell.Windows
    If Left(ie.LocationURL, 9) = urlToLookFor Then        
        GetInternetWindow = ie
        Exit For
    End If
Next
End Function
于 2012-12-24T16:34:28.670 に答える