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