お世話になります。
Excel2019(VBA) [Windows11のIEモードではリモートサーバーが使用できませんとなります。]
準備:
IEモード設定は以下を参考にしました。
1.Windows11でIEモードを使う方法をWin11環境で解説 https://webs-studio.jp/?p=4842
2.IEモードに設定する為、Internet Explorerモードページに http://www.google.co.jp/ を追加しました。
3.IEモードに設定することで追加ページのクラス名がInternet Explorer_Serverに変更されました。
http://www.ken3.org/cgi-bin/group/vba_ie.asp VBAでgoogle検索項目(name=q)にセットすることで確かめました。
動作:
・Windows10のIE11では問題なくgoogle検索項目(name=q)にセットできました。
・Windows11のIEモードではリモートサーバーが使用できませんとなります。
・While objIE.ReadyState <> 4 Or objIE.Busy = True のところでエラーになります。
実行時エラー '-2147467259 (80004005)':'Busy' メソッドは失敗しました: 'IWebBrowser2' オブジェクト
それで、それを中止にして[Sleep 5000]を追加しました。
VBA google検索項目(name=q)にセット
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) ' 追加 64ビット用タイマー
Private Sub CommandButton1_Click()
'IEの起動
Dim objIE As Object '変数を定義します。
Set objIE = CreateObject("InternetExplorer.Application") 'オブジェクトを作成します。
objIE.Visible = True '可視、Trueで見えるようにします。
'処理したいページを表示します。
objIE.Navigate "http://www.google.co.jp/"
'ページの表示完了を待ちます。 中止
' While objIE.ReadyState <> 4 Or objIE.Busy = True '.ReadyState <> 4の間まわる。
' DoEvents '重いので嫌いな人居るけど。
' Wend
Sleep 5000 ' 追加
'google検索項目(name=q)にセットする。
objIE.Document.getElementsByName("q")(0).Value = "三流" '●リモート サーバーがないか、使用できる状態ではありません。
End Sub
その他:以下を設定しました。
・[Excel]→[開発]→[ツール]→[参照設定]→[参照可能なライブラリファイル]以下にチェックをしました。
Microsoft Internet Controls 、 Microsoft HTML Object Library
・Microsoft Edge 管理用ポリシーテンプレートを参考にして「Internet Explorer統合を構成する」を有効にしました。
https://paso-kake.com/it/microsoft-edge/9750/
[https://takamints.hatenablog.jp/entry/setting-ms-edge-policy-to-use-ie-mode](https://takamints.hatenablog.jp/entry/setting-ms-edge-policy-to-use-ie-mode)
質問:
●リモート サーバーがないか、使用できる状態ではありません。何故発生するのでしょうか?。
また対策方法はありますでしょうか?。
ご教示願えますと幸いであります。
**モデレーター注**
Windows フォーラムから移動しました