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技術解説」の記事

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


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

SQL関数と演算子|SQL入門(12月1日)
データの取得:集約集計、並べ替え(DISTINKT,GROUP BY,ORDER BY)|SQL入門(11月30日)
データの取得:条件指定(SELECT,WHERE)|SQL入門(11月29日)
データの挿入:バルクインサート|SQL入門(11月28日)
データの挿入(INSERT)と全削除|SQL入門(11月26日)
テーブル名変更と列追加(ALTER TABLE)とテーブル自動作成|SQL入門(11月25日)
テーブルの作成/削除(CREATE TABLE,DROP TABLE)|SQL入門(11月24日)
データベースに接続/切断|SQL入門(11月23日)
SQLiteのインストール|SQL入門(11月22日)
SQL入門:VBAでデータベースを使う|エクセルの神髄(11月22日)


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

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



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

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


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



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