C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■85362 / 親階層)  複数のIEを操作するには
□投稿者/ のり (1回)-(2017/10/13(Fri) 17:35:03)

分類:[VB.NET/VB2005 以降] 

皆さま、お世話になります。
vb.net 2015
Windowsフォームアプリケーションです。

IE操作(webbrowserではない)で、ひとつのフォームアプリで複数のIEを操作したいのですが

今までIEをひとつだけ使用していた時は問題なくできていた

        For Each tags In Ie1.Document.getElementsByClassName ("b_searchbox")

            tags.innerText = "天気"
            Exit For
        Next
のようなクラス検索が、IEを2個で2個目を操作しようとしたときは以下のようなエラーになります。

型 'System.Runtime.InteropServices.COMException' のハンドルされていない例外が Microsoft.VisualBasic.dll で発生しました
追加情報:HRESULT からの例外:0x80020101


複数のIEを操作するときに必要なことが抜けているんだと思いますが私の知識では解決できません。
アドバイスをいただけれるととても助かります。

プログラムはボタンを4個使用します。
[button 1] 1つ目のIEを起動
[button 2] 1つ目のIEに対してテキスト入力

[button 3] 2つ目のIEを起動
[button 4] 2つ目のIEに対してテキスト入力

ボタン1→ボタン2→ボタン3 ボタン4でエラーになります。

ただし立ち上げ後
ボタン3→ボタン4 は問題なくテキスト入力できます。


ボタン1〜4までエラーなく完了できるようしたいです。
どうかよろしくお願いいたします。



以下、プログラム。
'-------------------------------------------------------------------
'vb.net Windowsフォームアプリケーション
'参照設定:Microsoft Internet Controls
'ボタンを4個使用しています。(button1〜4)

Public Class Form1

    'Ie1の宣言
    Public Ie1 As SHDocVw.InternetExplorer
    'Ie2の宣言
    Public Ie2 As SHDocVw.InternetExplorer

    'Ie1起動
    Private Sub Button1_Click(sender As Object, e As EventArgs) _
            Handles Button1.Click

        Ie1 = CreateObject("InternetExplorer.Application")
        Ie1.Visible = True
        Ie1.Navigate("https://www.google.co.jp/")

    End Sub

    'Ie1にテキスト入力
    Private Sub Button2_Click(sender As Object, e As EventArgs) _
    Handles Button2.Click

        For Each tags In Ie1.Document.getElementsByClassName _
        ("gsfi")

            tags.innerText = "グルメ"

            Exit For
        Next

    End Sub

    'Ie2起動
    Private Sub Button3_Click(sender As Object, e As EventArgs) _
    Handles Button3.Click

        Ie2 = CreateObject("InternetExplorer.Application")
        Ie2.Visible = True
        Ie2.Navigate("https://www.bing.com/")

    End Sub

    'Ie2にテキスト入力
    Private Sub Button4_Click(sender As Object, e As EventArgs) _
    Handles Button4.Click

        For Each tags In Ie2.Document.getElementsByClassName _
        ("b_searchbox")

            tags.innerText = "天気"

            Exit For
        Next
    End Sub

End Class

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: 複数のIEを操作するには /魔界の仮面弁士
 
上記関連ツリー

複数のIEを操作するには / のり (17/10/13(Fri) 17:35) #85362 ←Now
New Re[1]: 複数のIEを操作するには / 魔界の仮面弁士 (17/10/16(Mon) 19:20) #85382
  └New Re[2]: 複数のIEを操作するには / のり (17/10/16(Mon) 21:40) #85385
    └New Re[3]: 複数のIEを操作するには / 魔界の仮面弁士 (17/10/16(Mon) 23:14) #85387
      └New Re[4]: 複数のIEを操作するには / のり (17/10/17(Tue) 00:36) #85388
        └New Re[5]: 複数のIEを操作するには / 魔界の仮面弁士 (17/10/17(Tue) 11:05) #85391
          └New Re[6]: 複数のIEを操作するには / 魔界の仮面弁士 (17/10/17(Tue) 11:19) #85392

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信