- ベストアンサー
エクセルVBA 「Application」が二個並
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Ctrl+J..「プロパティ/メソッドの一覧」ですね。 コーディング時の状況に応じて、参照できるプロパティが全て出てきます。 ThisWorkbookモジュールにコードを書く時、 最初の書き出しから「プロパティ/メソッドの一覧」を使うと、 Meキーワード(すなわちThisWorkbook)が省略されたと解釈されて WorkbookオブジェクトのApplicationプロパティが出てきます。 もう一つは Excel.Global のApplicationプロパティが出てきます。 (こちらが標準モジュールでも出てくるApplicationプロパティ) WorkbookオブジェクトのApplicationプロパティも Excel.Global.Applicationプロパティも Excelアプリーション(Applicationオブジェクト)が呼び出される事になります。 >これはどちらを選んでもいいのでしょうか? どちらを選んでも、WorkbookオブジェクトのApplicationプロパティになります。 「プロパティ/メソッドの一覧」これはあくまで入力支援機能なので、 コードに書いた後に、それがどちらのプロパティか判断してくれるわけではありません。 ThisWorkbookモジュールで何も指定せずに『Application』と書くと Me.Applicationと書いたと見なされます。 でも、繰り返しになりますが、 Me.Applicationと書いても Excel.Applicationと書いても 最後は同じExcel.Applicationが呼ばれます。 VBEから[F2]キーで「オブジェクトブラウザ」を表示させ『Application』を検索してみてください。 Applicationプロパティは、いろいろなオブジェクトのメンバになっています。 各オブジェクトから、そのオブジェクトの上位アプリケーションにアクセスできます。 ヘルプの「Applicationプロパティ」も参照してください。
お礼
WorkbookオブジェクトのApplicationプロパティ Excel.Global のApplicationプロパティ だったのですね。 オブジェクトブラウザで確認してみました。 数えきれないくらいの「Application」が出てきてビックリしました。 ありがとうございました。