| 
    
     |  | ▼EMU さん: 
 >▼Seraphさん、こんばんわ。たびたび恐れ入ります。
 どもども
 
 最初に説明しておけばよかったのかもしれませんが、、、
 
 >〜上記の処理でウインドウ名取得〜
 >Windows(strWindowName).Activate
 >
 >とすれば、アクティブウインドウを変更できると考えていたのですが、
 >「実行時エラー’9’
 > インデックスが有効範囲にありません。」
 >とメッセージが出てきてしまいます。
 >どうしたらよいかおしえていただけませんか?
 
 Windows(strWindowName).Activate で、Excel以外のウィンドウを
 イジる事は出来ません。
 このコードを、長く書くと
 
 Excel.Application.Windows(strWindowName).Activate
 
 となります。
 つまり、Excel内のウィンドウを指し示しているのです。
 
 なので、strWindowNameの内容がWindowsコレクション内のどのWindowオブジェクト
 にも名前が一致しません。
 で、エラーとなって「インデックスが有効範囲にありません。」と言うメッセージが
 出るのです。
 
 従って、ご希望の処理を行うには、先のコードで取得したウィンドウハンドルを引数
 にしてAPIの SetForegroundWindow()関数 を呼出すのが良いと思います。
 
 |  |