最終更新日:2019-07-22Applicationを省略できるApplicationのメソッド・プロパティ一覧Applicationには多数のメソッド・プロパティがありますが、この中には、Applicationを記述しなければならないものと、Applicationを省略できるものとが存在します。これらの違いはどこから来るのでしょうか・・・Applicationの全てのプロパティ・メソッドについては、Applicationのプロパティ、メソッド、イベント一覧エクセルそのものである、Applicationオブジェクトのプロパティ、メソッド、イベントの一覧です。数も多く全てを覚えるようなものではありません、必要に応じて調べて使う一覧になります。どのようなものがあるかを、ざっと目を通しておくと後々役立つことも多いでしょう。Applicationを省略できるかどうかの確認Applicationを省略できるかできないかは、グローバルに定義されているかどうかになります。グローバルに定義されているかどうかは、オブジェクトブラウザ(F2)で確認できます。先頭の、「<グローバル>」この中にあるかどうかです。このままでは、プロパティもメソッドも全部ひっくるめてABC順になっています。そこで、プロパティ・メソッド別にします。メンバー(M)」をクリックこれで、プロパティとメソッド別になりました。そこで、下の方を見てみると、これはメソッドのアイコンですが、、、Abs等々、これらはいわゆるVBA関数ですね。関数とメソッドの区別が付きません、そもそも関数も広義にはメソッドですから。関数以外にも、Application以外のメソッド・プロパティが入っているという事です。Applicationのメソッド・プロパティだけにしたい時には、どうするか、、、Applicationのプロパティまたはメソッドと分かっているものをクリック選択します。メンバ」と記載されているのが確認できます。このExcel.Globalにリンクが付いています。リンクがあるのなら、なにはともあれクリックしましょう(笑)うん、そうなの、という感じです。非表示を表示しましょう。「非表示のメンバーを表示(H)」をクリックします。メンバ」のExcel.Globalのリンクをクリックします。下までスクロールしてみると、これが、目的のApplicationのメソッド・プロパティのようですね。グローバルに定義されているApplicationのメソッド・プロパティになります。そんなに多い数ではありませんね。薄い文字色は非表示メンバーです。Globalがそもそも非表示メンバーなので、非表示メンバーの中の非表示メンバーという事になります。今回のApplicationのメソッド・プロパティではありません。入っているメンバーは「Global」と同じみたいなので今回は気にしないことにします。指定されたDDEチャネルを経由して、他のアプリケーション内でコマンドまたは動作を実行します。アプリケーションにデータを送ります。指定されたアプリケーションの情報を返します。ほかのアプリケーションへのチャネルを閉じます。使用する名前を、オブジェクトまたは値に変換します。Excel4.0マクロ関数を実行し、関数の結果を返します。複数のセル範囲の共有セル範囲を表すRangeオブジェクトを返します。マクロの実行または関数の呼び出しを行います。アクティブなアプリケーションにキーコードを転送します。2つ以上のセル範囲の集合を返します。※DDE○○については、OLE登場以前のものなので、さすがに使う事はないでしょうから割愛します。Applicationのメソッドでは、グローバルに入っているものの方が少ないので、Applicationから書き始めている人の方が多いかもしれません。本サイトのサンプルVBAでは省略して書いている事の方が多いです。Runについては、さすがに分かりづらいのでApplicationから書いています。以下、これらのメソッドを使っている参考ページになります。Evaluate文字列でのセル参照と文字列の計算式について(Evaluate,INDIRECT)セルまたはセル範囲を表す文字列からセル参照する場合と、文字列としての計算式から計算する場合です。このように入っている場合に、ExecuteExcel4MacroExecuteExcel4Macroについて|VBA技術解説ExecuteExcel4Macroは、Excel4.0のマクロを実行します。昔のマクロを使うということです。VBAが使える前にあったものですが、最新バージョンのエクセルでも使用できます。いえ、積極的に使うようなものでもないですし、MSもVBAへの移行を勧めています。Excelファイルを開かずにシート名を取得|VBAサンプル集Excelファイルを開くときは、ファイルサイズに比して、とても遅い場合があります、ファイルを開かずに、Excelの情報を取得したいという要望は少なからずあるようです、そこで、処理の基本となるシート名を取得する方法になります。開かないと言っても、厳密には必ず開いているわけですが、Excelのブックとして開かないという事です。IntersectIntersectメソッド|ExcelマクロVBA入門IntersectメソッドはApplicationのメソッドで、複数のセル範囲の、重なっている部分のセル範囲を取得することが出来ます。あるセルが、特定セル範囲内にあるかどうかを判定したり、セル範囲の中から、特定の列や行の部分だけを取り出したりする場合に使います。他のブック中にあるプロシージャー(Sub,Function)を実行する場合は、Application.Runメソッドを使います。別々に作成されたマクロVBAの入ったブックを連携させる時には必須になります。マクロの実行または関数の呼び出しを行います。中にプロシージャー名が入っていて、そのプロシージャーを起動したい場合になります、実際には、そのような構造が良いとは思えませんが、知っていればプログラミングの幅が広がります。使うのは、OnTimeメソッドorRunメソッドになります。クラスとイベントとマルチプロセス並列処理|VBA技術解説エクセルVBAではマルチスレッドによる並列処理はサポートされていません、つまり通常は順序良く直列に処理していくしかありません。処理時間が多大にかかるような処理も現実には存在しているため、エクセルVBAで並列処理したいという要望も出てきます。SendKeysSendKeysメソッドとAppActivateステートメント|マクロVBA入門VBAから直接連携操作できない他のアプリケーションに対しても、VBAのキーコードを転送を使って操作することが可能です。SendKeysメソッドを使い、アクティブなアプリケーションにキーコードを転送することで操作します。これは、他のアプリケーションにキーホード入力をすることができるという事です。UnionUnionメソッド|ExcelマクロVBA入門UnionメソッドはApplicationのメソッドです。複数のセル範囲を集め、1つのRangeオブジェクとして参照することができます。Unionメソッドは複数のRangeオブジェクトを連結して1つのRangeオブジェクトにします。上記の、_Evaluate_Run2これらは特殊な非表示メンバーですが、これらを使う時にはVBAの書き方が変わります。オブジェクトブラウザーで非表示メンバーを表示していれば、これで選択すると、このように、[]が付きます。非表示メンバーを表示していない時には、[]をタイピングしてください。_(アンダースコア)付きの非表示メンバーは使うべきではないと思いますし、使う理由もないとは思いますが。最前面に表示されている、アクティブウィンドウ(一番手前のウィンドウ)または指定されたウィンドウでのアクティブセルを表すRangeオブジェクトを返します。アクティブなグラフシートまたは埋め込みグラフを表すChartオブジェクトを返します。有効なプリンターの名前を設定します。作業中のブック、および指定されたウィンドウまたはブックのアクティブシート(一番手前のシート)を表すオブジェクトを返します。手前に表示されているアクティブウィンドウを表すWindowオブジェクトを返します。手前に表示されている、アクティブウィンドウ内にあるブックを表すWorkbookオブジェクトを返します。[アドイン]ダイアログボックス([開発]タブの[アドイン]コマンド)に表示されるすべてのアドインを表すAddInsコレクションを返します。対象となるオブジェクトが指定されない場合は、Excelアプリケーション(Applicationオブジェクト)を返します。アクティブシートのすべてのセルを表すRangeオブジェクトを返します。作業中のブックのすべてのグラフシートを表すSheetsコレクションを返します。作業中のワークシートのすべての列を表すRangeオブジェクトを返します。Excelコマンドバーを表すCommandBarsオブジェクトを返します。現在のオブジェクトが作成されたアプリケーションを示す32ビットの整数を取得します。前回受け取ったDDE応答メッセージから、アプリケーション所定のDDEリターンコードを返します。指定されたブックのすべてのMicrosoftExcel4.0インターナショナルマクロシートを表すSheetsコレクションを返します。指定されたブックのすべてのMicrosoftExcel4.0マクロシートを表すSheetsコレクションを返します。作業中のブックのすべての名前を表すNamesコレクションを返します。指定されたオブジェクトの親オブジェクトを取得します。セルまたはセルの範囲を表すRangeオブジェクトを返します。アクティブシートがワークシートのとき、そのワークシートにあるすべての行(Rangeオブジェクト)を返します。Applicationオブジェクトでは、アクティブウィンドウで現在選択されているオブジェクトを返します。作業中のブックのすべてのシートを表すSheetsコレクションを返します。現在実行中のマクロコードが記述されているブック(Workbookオブジェクト)を返します。すべてのブックのウィンドウを表すWindowsコレクションを返します。開かれているすべてのブックを表すWorkbooksコレクションを返します。WorksheetFunctionオブジェクトを返します。Applicationオブジェクトでは、作業中のブックのすべてのワークシートを表すSheetsコレクションを返します。Applicationのプロパティの中でも、ブック・シート・セルこれらに関するプロパティについては、ほとんどの場合Applicationは省略して書いている事と思います。Applicationを省略してしまうと分かりづらいプロパティというのも特段に無いと思いますので、Applicationのプロパティの中でApplicationを省略できるものは省略したほうがVBAが簡潔に済むので良いでしょう。今回は、これを知ったからと言って直接的に何かに役立つものではありません。VBAでちょっとした疑問がわいたとき、まずはWEB検索します。WEB検索してもなかなか目的のものが得られない時は多々あります。そんな時に最後に頼れるものがオブジェクトブラウザーになります。オブジェクトブラウザーの中を探せば、必ず目的の情報の糸口がどこかにあるはずです。いう目的がなくても、たまにはオブジェクトブラウザーを見てみるのはいかがでしょうか。オブジェクトブラウザーの世界を散歩してみると新しい発見があって楽しいかもしれませんよ。Next)|VBA入門8.セルに文字を入れるとは(Range,Value)|VBA入門9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説10.ひらがな⇔カタカナの変換|エクセル基本操作ホームマクロVBAマクロVBA技術解説Applicationを省略できるApplicationのメソッド・プロパティ一覧このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。GASスプレッドシート入門スプレッドシート応用GAS入門GAS応用ホームマクロVBAマクロVBA技術解説Applicationを省略できるApplicationのメソッド・プロパティ一覧このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。