VBA技術解説
Applicationを省略できるApplicationのメソッド・プロパティ一覧

ExcelマクロVBAの問題点と解決策、VBAの技術的解説
最終更新日:2020-03-27

Applicationを省略できるApplicationのメソッド・プロパティ一覧


マクロ VBA グローバル

Applicationには多数のメソッド・プロパティがありますが、
この中には、
Applicationを記述しなければならないものと、
Applicationを省略できるものとが存在します。


これらの違いはどこから来るのでしょうか・・・

Applicationの全てのプロパティ・メソッドについては、
Applicationのプロパティ、メソッド、イベント一覧
・Applicationオブジェクトのプロパティ一覧 ・Applicationオブジェクトのメソッド一覧 ・Applicationオブジェクトのイベント一覧

Applicationを省略できるかどうかの確認

Applicationを省略できるかできないかは、グローバルに定義されているかどうかになります。
グローバルに定義されているかどうかは、オブジェクトブラウザ(F2)で確認できます。

マクロ VBA グローバル

先頭の、「<グローバル>」この中にあるかどうかです。
このままでは、プロパティもメソッドも全部ひっくるめてABC順になっています。
そこで、プロパティ・メソッド別にします。
メンバーを右クリックして、

マクロ VBA グローバル

グループ メンバー(M)」をクリック

マクロ VBA グローバル

これで、プロパティとメソッド別になりました。
そこで、下の方を見てみると、

マクロ VBA グローバル

マクロ VBA サンプル画像これはメソッドのアイコンですが、、、
Abs等々、これらはいわゆるVBA関数ですね。
つまり、関数とメソッドの区別が付きません、そもそも関数も広義にはメソッドですから。
関数以外にも、Application以外のメソッド・プロパティが入っているという事です。
では、Applicationのメソッド・プロパティだけにしたい時には、どうするか、、、
Applicationのプロパティまたはメソッドと分かっているものをクリック選択します。

マクロ VBA グローバル

下の方に、「Excel.Global のメンバ」と記載されているのが確認できます。
そして、このExcel.Globalにリンクが付いています。
リンクがあるのなら、なにはともあれクリックしましょう(笑)

マクロ VBA グローバル

うん、そうなの、という感じです。
では非表示を表示しましょう。

マクロ VBA グローバル

メンバーを右クリックして、
非表示のメンバーを表示(H)」をクリックします。
そして、再度、
「Excel.Global のメンバ」のExcel.Globalのリンクをクリックします。

マクロ VBA グローバル

下までスクロールしてみると、

マクロ VBA グローバル

これが、目的のApplicationのメソッド・プロパティのようですね。
グローバルに定義されているApplicationのメソッド・プロパティになります。
そんなに多い数ではありませんね。

薄い文字色は非表示メンバーです。
Globalがそもそも非表示メンバーなので、非表示メンバーの中の非表示メンバーという事になります。

クラスには、「Global」が2つありますが、

マクロ VBA グローバル

片方の「Global」は、VBAのメンバーになりますので、
今回のApplicationのメソッド・プロパティではありません。

「_Global」もありますが、どのような目的で作られたのか分かりませんし、
入っているメンバーは「Global」と同じみたいなので今回は気にしないことにします。

Applicationを省略できるApplicationのメソッド一覧

メソッド 説明
Calculate 計算を実行します。
DDEExecute 指定されたDDEチャネルを経由して、他のアプリケーション内でコマンドまたは動作を実行します。
DDEPoke アプリケーションにデータを送ります。
DDERequest 指定されたアプリケーションの情報を返します。
DDETerminate ほかのアプリケーションへのチャネルを閉じます。
Evaluate 使用する名前を、オブジェクトまたは値に変換します。
_Evaluate Evaluateと同様機能の非表示メンバー
ExecuteExcel4Macro Excel4.0マクロ関数を実行し、関数の結果を返します。
Intersect 複数のセル範囲の共有セル範囲を表すRangeオブジェクトを返します。
Run マクロの実行または関数の呼び出しを行います。
_Run2 Runと同様機能の非表示メンバー
SendKeys アクティブなアプリケーションにキーコードを転送します。
Union 2つ以上のセル範囲の集合を返します。
※DDE○○については、OLE登場以前のものなので、さすがに使う事はないでしょうから割愛します。

Applicationのメソッドでは、グローバルに入っているものの方が少ないので、
Applicationから書き始めている人の方が多いかもしれません。
本サイトのサンプルVBAでは省略して書いている事の方が多いです。
ただしRunについては、さすがに分かりづらいのでApplicationから書いています。
以下、これらのメソッドを使っている参考ページになります。

Evaluate
文字列でのセル参照と文字列の計算式について(Evaluate,INDIRECT)
セルまたはセル範囲を表す文字列からセル参照する場合と、文字列としての計算式から計算する場合です。"Sheet1"の A1に、"Sheet2" B1に、"A1" "Sheet2"の A1に、"(2+3)*2" このよう…
ExecuteExcel4Macro
ExecuteExcel4Macroについて|VBA技術解説
・ ・ ・ExecuteExcel4Macroの使用例 ・ExecuteExcel4Macroの最後に
Excelファイルを開かずにシート名を取得|VBAサンプル集
Excelファイルを開くときは、ファイルサイズに比して、とても遅い場合があります、ファイルを開かずに、Excelの情報を取得したいという要望は少なからずあるようです、そこで、処理の基本となるシート名を取得する方法になります。もちろん、開かないと言っても、厳密には必ず開いているわけですが、Excelのブックとして開か…
Intersect
Intersectメソッド|ExcelマクロVBA入門
・Intersectメソッド ・Intersectの使用例 ・Intersectメソッドの最後に
Run
他のブックのマクロを実行(Runメソッド)|マクロVBA入門
・Application.Runメソッド ・Application.Runの使用例 ・Application.Runの必要性
文字列としてのプロシージャー名を起動する方法(Run,OnTime)|VBA技術解説
文字列変数の中にプロシージャー名が入っていて、そのプロシージャーを起動したい場合になります、実際には、そのような構造が良いとは思えませんが、知っていればプログラミングの幅が広がります。使うのは、OnTimeメソッドorRunメソッドになります。
クラスとイベントとマルチプロセス並列処理|VBA技術解説
・クラスとイベントとマルチプロセス並列処理の概要 ・VBAの全コード ・まとめと感想 ・最後に
SendKeys
SendKeysメソッドとAppActivateステートメント|マクロVBA入門
・SendKeysメソッド ・特殊なキーを表す文字 ・AppActivateステートメント ・SendkeysとAppActivateの使用例 ・Sendkeysでは送信できないキーコード ・NumLockが解除されてしまう問題 ・Sendkeysについて
Union
Unionメソッド|ExcelマクロVBA入門
・Unionメソッド ・Areasプロパティ ・Unionメソッドで連結した結果のRangeオブジェクトの状態について ・Unionメソッドの使用例 ・Unionメソッドの実践例

_(アンダースコア)付きの非表示メンバーの使い方
上記の、
_Evaluate
_Run2
これらは特殊な非表示メンバーですが、これらを使う時にはVBAの書き方が変わります。
オブジェクトブラウザーで非表示メンバーを表示していれば、

マクロ VBA グローバル

これで選択すると、

マクロ VBA グローバル

このように、[]が付きます。
非表示メンバーを表示していない時には、[]をタイピングしてください。
_(アンダースコア)付きの非表示メンバーは使うべきではないと思いますし、使う理由もないとは思いますが。

Applicationを省略できるApplicationのプロパティ一覧

名前 説明
ActiveCell 最前面に表示されている、アクティブウィンドウ(一番手前のウィンドウ)または指定されたウィンドウでのアクティブセルを表すRangeオブジェクトを返します。
ActiveChart アクティブなグラフシートまたは埋め込みグラフを表すChartオブジェクトを返します。
ActiveDialog 非表示メンバー、VBA言語リファレンスに記載なし
ActiveMenuBar 非表示メンバー、VBA言語リファレンスに記載なし
ActivePrinter 有効なプリンターの名前を設定します。
ActiveSheet 作業中のブック、および指定されたウィンドウまたはブックのアクティブシート(一番手前のシート)を表すオブジェクトを返します。
ActiveWindow 一番手前に表示されているアクティブウィンドウを表すWindowオブジェクトを返します。
ActiveWorkbook 一番手前に表示されている、アクティブウィンドウ内にあるブックを表すWorkbookオブジェクトを返します。
AddIns [アドイン]ダイアログボックス([開発]タブの[アドイン]コマンド)に表示されるすべてのアドインを表すAddInsコレクションを返します。
Application 対象となるオブジェクトが指定されない場合は、Excelアプリケーション(Applicationオブジェクト)を返します。
Assistant 非表示メンバー、VBA言語リファレンスに記載なし
Cells アクティブシートのすべてのセルを表すRangeオブジェクトを返します。
Charts 作業中のブックのすべてのグラフシートを表すSheetsコレクションを返します。
Columns 作業中のワークシートのすべての列を表すRangeオブジェクトを返します。
CommandBars Excelコマンドバーを表すCommandBarsオブジェクトを返します。
Creator 現在のオブジェクトが作成されたアプリケーションを示す32ビットの整数を取得します。
DDEAppReturnCode 前回受け取ったDDE応答メッセージから、アプリケーション所定のDDEリターンコードを返します。
DialogSheets 非表示メンバー、VBA言語リファレンスに記載なし
Excel4IntlMacroSheets 指定されたブックのすべてのMicrosoftExcel4.0インターナショナルマクロシートを表すSheetsコレクションを返します。
Excel4MacroSheets 指定されたブックのすべてのMicrosoftExcel4.0マクロシートを表すSheetsコレクションを返します。
MenuBars 非表示メンバー、VBA言語リファレンスに記載なし
Modules 非表示メンバー、VBA言語リファレンスに記載なし
Names 作業中のブックのすべての名前を表すNamesコレクションを返します。
Parent 指定されたオブジェクトの親オブジェクトを取得します。
Range セルまたはセルの範囲を表すRangeオブジェクトを返します。
Rows アクティブシートがワークシートのとき、そのワークシートにあるすべての行(Rangeオブジェクト)を返します。
Selection Applicationオブジェクトでは、アクティブウィンドウで現在選択されているオブジェクトを返します。
Sheets 作業中のブックのすべてのシートを表すSheetsコレクションを返します。
ShortcutMenus 非表示メンバー、VBA言語リファレンスに記載なし
ThisWorkbook 現在実行中のマクロコードが記述されているブック(Workbookオブジェクト)を返します。
Toolbars 非表示メンバー、VBA言語リファレンスに記載なし
Windows すべてのブックのウィンドウを表すWindowsコレクションを返します。
Workbooks 開かれているすべてのブックを表すWorkbooksコレクションを返します。
WorksheetFunction WorksheetFunctionオブジェクトを返します。
Worksheets Applicationオブジェクトでは、作業中のブックのすべてのワークシートを表すSheetsコレクションを返します。

Applicationのプロパティの中でも、
ブック・シート・セル
これらに関するプロパティについては、ほとんどの場合Applicationは省略して書いている事と思います。
Applicationを省略してしまうと分かりづらいプロパティというのも特段に無いと思いますので、
Applicationのプロパティの中でApplicationを省略できるものは省略したほうがVBAが簡潔に済むので良いでしょう。

最後に一言

今回は、これを知ったからと言って直接的に何かに役立つものではありません。
VBAでちょっとした疑問がわいたとき、まずはWEB検索します。
でも、WEB検索してもなかなか目的のものが得られない時は多々あります。
そんな時に最後に頼れるものがオブジェクトブラウザーになります。
オブジェクトブラウザーの中を探せば、必ず目的の情報の糸口がどこかにあるはずです。

たとえそういう目的がなくても、たまにはオブジェクトブラウザーを見てみるのはいかがでしょうか。
オブジェクトブラウザーの世界を散歩してみると新しい発見があって楽しいかもしれませんよ。



同じテーマ「マクロVBA技術解説」の記事

VBAでのタイマー処理(SetTimer,OnTime)
マクロでShift_JIS文字コードか判定する
Byte配列と文字コード関数について
Applicationを省略できるApplicationのメソッド・プロパティ一覧
PowerQueryの強力な機能をVBAから利用する方法
ShapesとDrawingObjectsの相違点と使い方
新規挿入可能なシート名の判定
VBAにおける配列やコレクションの起点について
VBAのマルチステートメント(複数のステートメントを同じ行に)
クリップボードに2次元配列を作成してシートに貼り付ける
ユーザー定義型の制限とクラスとの使い分け


新着記事NEW ・・・新着記事一覧を見る

数字(1~50)を丸付き数字に変換するVBA|VBA技術解説(2022-11-15)
TEXTAFTER関数(テキストの指定文字列より後ろの部分を返す)|エクセル入門(2022-11-14)
TEXTBEFORE関数(テキストの指定文字列より前の部分を返す)|エクセル入門(2022-11-14)
TEXTSPLIT関数(列と行の区切り記号で文字列を分割)|エクセル入門(2022-11-12)
LAMBDA以降の新関数はVBAで使えるか|VBA技術解説(2022-11-11)
WRAPCOLS関数(1次元配列を指定数の列で折り返す)|エクセル入門(2022-11-08)
WRAPROWS関数(1次元配列を指定数の行で折り返す)|エクセル入門(2022-11-08)
EXPAND関数(配列を指定された行と列に拡張する)|エクセル入門(2022-11-07)
TAKE関数(配列の先頭/末尾から指定行/列数を取得)|エクセル入門(2022-11-06)
DROP関数(配列の先頭/末尾から指定行/列数を除外)|エクセル入門(2022-11-06)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Excelショートカットキー一覧|Excelリファレンス
7.並べ替え(Sort)|VBA入門
8.エクセルVBAでのシート指定方法|VBA技術解説
9.マクロって何?VBAって何?|VBA入門
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ