• 締切済み

ExcelにWebBrowserコントロールを貼り付けるとシート切り替えで落ちる

いつもお世話になっています。 さて、タイトルどおりなのですが、エクセルのシート1にWebBrowserコントロールを貼り付け、 シート1のマクロに Private Sub Worksheet_Activate()  WebBrowser1.Navigate "http://www.yahoo.co.jp/" End Sub と貼り付けます。 そしていったん保存して終了後、マクロを有効にしてファイルを開き、シート1←→シート2の作業を何度か行うと、 「問題が発生したため、Microsoft Excel を終了します。 ご不便をおかけして申し訳ありません。」 のダイアログとともにエクセルがエラー終了してしまいます。 これはエクセルの不具合(IEコンポーネントの不具合)で解決策はないのでしょうか? どなたか解決方法をご存知の方、お知恵をお貸しください。 OSはXP、オフィスは2002SP3を使用しています。

みんなの回答

回答No.1

ActiveX コントロールはなるべくユーザーフォーム上で使うようにしてください。 シートに貼り付けて使うと今回のように変な挙動になる事が多いです。

haniwannko
質問者

お礼

シートを切り替えるときにはコネクションを切断しないと内部エラーが起こる不具合と推測し、下記コードをマクロに追加しましたら、不具合を回避できました。ご回答ありがとうございました。 Private Sub Worksheet_Deactivate() ThisWorkbook.Worksheets("メイン").WebBrowser1.Navigate "" End Sub

関連するQ&A