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

ExcelマクロVBAの問題点と解決策、エクセルVBAの技術的解説
最終更新日:2019-07-22

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


マクロ VBA グローバル

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は、Excel4.0のマクロを実行します。つまり、昔のマクロを使うということです。VBAが使える前にあったものですが、最新バージョンのエクセルでも使用できます。とはいえ、積極的に使うようなものでもないですし、MSもVBAへの移行を勧めています。
Excelファイルを開かずにシート名を取得|VBAサンプル集
Excelファイルを開くときはファイルサイズに比してとても遅い場合がありますファイルを開かずにExcelの情報を取得したいという要望は少なからずあるようですそこで処理の基本となるシート名を取得する方法になります。もちろん開かないと言っても厳密には必ず開いているわけですがExcelのブックとして開かないという事です。
Intersect
Intersectメソッド|ExcelマクロVBA入門
IntersectメソッドはApplicationのメソッドで、複数のセル範囲の、重なっている部分のセル範囲を取得することが出来ます。あるセルが、特定セル範囲内にあるかどうかを判定したり、セル範囲の中から、特定の列や行の部分だけを取り出したりする場合に使います。
Run
他のブックのマクロを実行(Runメソッド)|マクロVBA入門
他のブック中にあるプロシージャー(Sub,Function)を実行する場合は、Application.Runメソッドを使います。別々に作成されたマクロVBAの入ったブックを連携させる時には必須になります。Application.Runメソッド マクロの実行または関数の呼び出しを行います。
文字列としてのプロシージャー名を起動する方法(Run,OnTime)|VBA技術解説
文字列変数の中にプロシージャー名が入っていて、そのプロシージャーを起動したい場合になります、実際には、そのような構造が良いとは思えませんが、知っていればプログラミングの幅が広がります。使うのは、OnTimeメソッドorRunメソッドになります。
クラスとイベントとマルチプロセス並列処理|VBA技術解説
エクセルVBAではマルチスレッドによる並列処理はサポートされていません、つまり通常は順序良く直列に処理していくしかありません。しかし処理時間が多大にかかるような処理も現実には存在しているため、エクセルVBAで並列処理したいという要望も出てきます。
SendKeys
SendKeysメソッドとAppActivateステートメント|マクロVBA入門
VBAから直接連携操作できない他のアプリケーションに対しても、VBAのキーコードを転送を使って操作することが可能です。SendKeysメソッドを使い、アクティブなアプリケーションにキーコードを転送することで操作します。これは、他のアプリケーションにキーホード入力をすることができるという事です。
Union
Unionメソッド|ExcelマクロVBA入門
UnionメソッドはApplicationのメソッドで、複数のセル範囲を集め、1つのRangeオブジェクとして参照することができます。マクロVBAにおいて、セル範囲に次々に別のセル範囲を追加して、最後にまとめて処理するような場合に便利です。

_(アンダースコア)付きの非表示メンバーの使い方
上記の、
_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技術解説」の記事

オブジェクト式について
オブジェクトの探索方法
条件付きコンパイル(32ビット64ビットの互換性)
ドキュメントプロパティ(BuiltinDocumentProperties,CustomDocumentProperties)
VBAでファイルを規定のアプリで開く方法
Excelアドインの作成と登録について
VBAでのタイマー処理(SetTimer,OnTime)
マクロでShift_JIS文字コードか判定する
VBA+SeleniumBasicで検索順位チェッカー(改)
Applicationを省略できるApplicationのメソッド・プロパティ一覧
PowerQueryの強力な機能をVBAから利用する方法


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

Byte配列と文字コード関数について|VBA技術解説(8月20日)
PowerQueryの強力な機能をVBAから利用する方法|VBA技術解説(8月4日)
練習問題31(セル結合を解除して値を埋める)|VBA練習問題(7月30日)
練習問題30(マトリックス→リスト形式)|VBA練習問題(7月25日)
Applicationを省略できるApplicationのメソッド・プロパティ一覧|VBA技術解説(7月22日)
コレクション(Collection)の並べ替え(Sort)に対応するクラス|VBA技術解説(7月20日)
CSVの読み込み方法(ジャグ配列)|VBAサンプル集(7月15日)
その他のExcel機能(グループ化、重複の削除、オートフィル等)|VBA入門(7月14日)
オートフィルタ退避回復クラスを複数シート対応させるVBAクラス|VBA技術解説(7月6日)
オートフィルタを退避回復するVBAクラス|VBA技術解説(7月6日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.ひらがな⇔カタカナの変換|エクセル基本操作
10.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説



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

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


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




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