TAGS: Excel

Excel オブジェクト変数または with ブロック変。Dim。オブジェクト変数または with ブロック変数が設定されていません、というエラーが出てしまいます EXCEL マクロにて、以下InternetExplorerを最前面に表示する操作を実行すると、オブジェクト変数または with ブロック変数が設定されていません、とエラーが出てしまいます
原因と解決方法を教えてください

====
Private Declare Function SetForegroundWindow Lib "user32 dll" (ByVal hWnd As Long) As Long

Private Declare Function IsIconic Lib "user32 dll" (ByVal hWnd As Long) As Long

Private Declare Function ShowWindowAsync Lib "user32 dll" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long

Public Sub sfg()
Dim objIE As Object

If IsIconic(objIE hWnd) Then
ShowWindowAsync objIE hWnd, &H9
End If

SetForegroundWindow (objIE hWnd)
End Sub

====

尚、If IsIconic(objIE hWnd) Thenのところで止まっています Excel。_ =
_ = 実行時エラー &#;
&#; オブジェクト変数または ブロック変数が設定されていません。

オブジェクト変数または。たとえば。 で宣言された変数は。 ; 型になり。V10。お問い合わせ内容 「台帳」は自動更新できるよう設定しています
。 へしようとしたところ。「実行時エラー オブジェクト
変数またはブロック変数が設定されていません」とエラー実行時エラー'91':オブジェクト変数またはWithブロック変数が設定。実行時エラー&#;&#;オブジェクト変数またはブロック変数が設定されていませ
ん が出力される。 やをクリックすると

Dim objIE As Object←ここでobjIE の宣言はしているけど、宣言しているだけで↑この間でobjIE を作らないと↓If IsIconicobjIE.hWnd Then←実体のないobjIE の.hWndは取り出せない↑ここを参考に、起動中のIEを探してobjIEにSetする必要がありますDim objIE As ObjectSet objIE = CreateObjectInternetExplorer.ApplicationIf IsIconicobjIE.hWnd Thenにしてください。質問のままではNothingの.hWndを求めようとしています。

Author

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です