本日唐突に、他のブックにあるマクロを呼び出したとき、
そのブックを最小化したい事案に遭遇した。
あれこれ捏ね繰り回し、結果、これに落ち着いた。
Sub Sample() ThisWorkbook.Activate ActiveWindow.WindowState = xlMinimized End Sub
もっと単純にできたような気がするのだが、気のせいだったのだろうか。
ところで、複数のブックが起動している状態で、これを実行してみた。
Sub Sample() ThisWorkbook.Activate ActiveWindow.WindowState = xlMinimized ThisWorkbook.Activate Debug.Print ActiveWindow.WindowState End Sub
すると、結果はこうなった。
- 4140とはつまり、xlMinimized のこと。
従って、画面いっぱいに広がっているExcelブックがあったとしても、実はそれはActiveではないということになる。
「Activeなんちゃら」で、いつも迷ったり失敗したりする。都度、変数にセットするなどの処置は重要だなと、改めて思った次第です。
参考まで。