Excel VBA 質問スレ Part22
■ このスレッドは過去ログ倉庫に格納されています
0324デフォルトの名無しさん
2011/12/18(日) 17:58:43.06前提として
ApplicationはExcel自体
WindowはExcel内の子ウィンドウで、Book などに対応して作成される
Excelを起動すると、Applicationオブジェクトが作成される
Bookを作成すると、Applicationオブジェクト配下に、WorkbookオブジェクトとWindowオブジェクトが作成される
もう一つBookを作成すると、Applicationオブジェクト配下に、別のWorkbookオブジェクトと別のWindowオブジェクトが作成される
workbookは文書内容そのものを保持し、Windowはドキュメント内容以外の状態や表示設定(Book単位のActiveCellや画面の拡縮率など)を保持する
ActiveなBook(ActiveWorkbook)を切り替えると、ApplicationオブジェクトのActiveWindow、ActiveCell、ActiveChartなども一式自動的に切り替わる
で、
Application は、ActiveSheet.Applicationの省略形で、Excel全体を表すApplicationオブジェクトを指す
Application.ActiveWindowは、Excel内のアクティブなWindowオブジェクトを指す(workbookを切り替えるとWindowオブジェクトも切り替わる)
ActiveWindow は、Application.ActiveWindow の省略形で、Application.ActiveWindow と同じ
おそらく内部では、
Application.ActiveCell を参照したとき、Application.ActiveWindow.ActiveCell を返すような実装になってるはずなので、
ActiveCell
Application.ActiveCell
ActiveWindow.ActiveCell
Application.ActiveWindow.ActiveCell
の4つは常に同一になるはず
■ このスレッドは過去ログ倉庫に格納されています