• ベストアンサー

エクセルVBA 「Application」が二個並

エクセルVBA 「Application」が二個並んでてきます。 VBAを勉強していて Ctrl+Jでヒントを出しながらコードを打っているのですが 「Application」が二個並んでてきます。 これはどちらを選んでもいいのでしょうか? またなぜふたつ同じ単語が出てくるのですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.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プロパティ」も参照してください。

yhyji
質問者

お礼

WorkbookオブジェクトのApplicationプロパティ Excel.Global のApplicationプロパティ だったのですね。 オブジェクトブラウザで確認してみました。 数えきれないくらいの「Application」が出てきてビックリしました。 ありがとうございました。