まりふのひと

Excel2010のマクロを開いた時にアクティブにしない(背面にする)

Excel2010のマクロ(VBA)をデータファイル(ブック)に含ませるのは簡単だが、マクロのメンテナンスに難点がある。そこで、プログラム(マクロ入りブック)とデータファイル(ブック)を分けるようにしているが、色々問題があり上手い方法が見つけられなかった。
ところがヒョンなことから、次のコードで目的を達成することができた。

Public Sub Auto_Open()
    Windows(ThisWorkbook.Name).ActivateNext
End Sub

昨日から開発しているマクロで、機能を検証する...


 ヘルプ「Window オブジェクト メンバー」より抜粋

名前 説明
Activate ウィンドウを Z オーダーの前面に移動します。
ActivateNext 指定されたウィンドウをアクティブにし、次にそのウィンドウを Z オーダーで一番後ろに移動します。
ActivatePrevious 指定されたウィンドウをアクティブにし、次に Z オーダーで一番後ろにあるウィンドウをアクティブにします。
Close オブジェクトを閉じます。
LargeScroll 指定されたページ数分だけ、ウィンドウの文字列をスクロールします。