コンパイルエラー」といった検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。VBAを使っているけれど、オブジェクト式の文法を、まだ理解できていない方による検索でしょう。[スポンサードリンク]Application.InputBoxメソッドを使ったサンプルマクロExcelで以下のマクロを実行すると、インプットボックスが表示され、入力した文字列が、メッセージボックスに表示されます。Application.InputBox("文字を入力してください。コンパイルエラー」という検索をした方は、おそらく上記のようなマクロを、PowerPointで実行しようとしたのだろうと推測しています。メンバーが見つかりません。」というエラーが発生します。オブジェクトブラウザーでApplication.InputBoxメソッドを確認するなぜ上記のマクロをそのままPowerPointで実行しようとするとエラーになるかというと、PowerPointのApplicationオブジェクトが、InputBoxという名前のメソッドもプロパティも持っていないからです。下図はPowerPointのVBEでオブジェクトブラウザーを表示して、Applicationオブジェクトを選択したところです。PowerPointのApplicationオブジェクトに、もしInputBoxメソッドが存在するのならば、Helpプロパティの下にInputBoxが表示されているはずです。そんなものは存在していないので表示されていません。ExcelのVBEでオブジェクトブラウザーを表示して、Applicationオブジェクトを選択すると、下図のようにちゃんとInputBoxメソッドが存在しています。VBAではApplicationのメンバーにInputBoxは表示されない自動メンバー表示の様子からも、同じことを観察できます。ExcelのVBAで「Application.i」まで入力すれば、下図のような表示なります。ExcelのApplicationオブジェクトに含まれるプロパティやメソッドのうち、「i」ではじまるメンバーが候補として表示され、InputBoxも当然表示されています。PowerPointのApplicationオブジェクトには、InputBoxという名前のメンバーは存在しませんから、PowerPointのVBEで「Application.i」まで入力しても、下図のような状態にしかなりません。Applicationオブジェクトが表すものはアプリケーションによって違う同じ「Application」という単語であるために、オブジェクト式の文法を理解できていないレベルの方は混同してしまいがちですが、アプリケーションによって、Applicationプロパティが返すApplicationオブジェクトは異なります。VBAのApplicationプロパティが返すのはPowerPointを表すApplicationオブジェクトです。VBAにもってきても動かないほうが普通です。ExcelのApplicatio.InputBoxメソッドをPowerPointから利用するサンプルマクロどうしても、ExcelのApplication.InputBoxメソッドをPowerPointから使いたければ、以下のようなマクロにしてやればOKです。xls.Application.InputBox("文字を入力してください。VBAからExcelのApplication.InputBoxメソッドも使えます。VBAでも、何の問題もなく使うことができます。以下のようなマクロならPowerPointでも動きます。InputBox("文字を入力してください。SubVBAのInputBox関数とApplication.InputBoxメソッドの違いについては、以下の記事をご参照ください。教本』は、オブジェクトブラウザーの使い方を丁寧に解説した教本でもあります。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。