文書番号: 213489 - 対象製品
すべて展開する | すべて折りたたむ

目次

現象

CreateObject コマンドを使用して OLE オートメーション オブジェクトとして Microsoft Excel にアクセスすると、アドイン、XLStart ディレクトリにあるファイル、およびデフォルトの新しいブックが読み込まれません。

原因

アドインやファイルを読み込もうとすると、Excel から Visual Basic などの呼び出し元アプリケーションに対して、要求に応答する準備ができていないため後で再試行するよう求めるメッセージが送信されます。呼び出し元アプリケーションでは、この要求を処理できず、それ以降のコマンドの処理が続行できない場合があります。

回避策

マイクロソフトは、この情報をプログラミング言語の使用方法の一例として提供するだけであり、市場性および特定目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。この資料は、例示されているプログラミング言語やプロシージャの作成およびデバッグに使用するツールについて理解されているユーザーを対象としています。Microsoft Support 担当者は、特定のプロシージャの機能についての問い合わせにはお答えできますが、ユーザー固有の目的に合わせた機能の追加、プロシージャの作成などの内容変更は行っておりません。

OLE オートメーション オブジェクトとして Excel を実行するときにアドイン ファイルを読み込むには、アドインを手動で読み込みます。この方法の例を次に示します。

Microsoft Office Excel 2007

Sub LoadAddin()

   ' Dimension variable xl as object type.
   Dim xl As Object

   ' Activate Microsoft Excel and assign to variable xl.
   Set XL = CreateObject("Excel.Application")

   ' Open the add-in file you want, in this example, XLQUERY.XLAM.
   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLAM")

   ' If you need to register the functions and commands
   ' contained in a resource (XLL), use the RegisterXLL method.
   ' In the example below, all functions of Analys32.xll are
   ' registered.
   ' XL.RegisterXLL "Analys32.xll"

   ' Run any auto macros contained in the add-in file
   ' Auto macros don't run when you open a file
   ' using the Open method.
   XL.Workbooks("xlquery.xlam").RunAutoMacros 1

   Set XL = Nothing
 End Sub
				

Microsoft Office Excel 2003 およびそれ以前のバージョンの Excel

Sub LoadAddin()

   ' Dimension variable xl as object type.
   Dim xl As Object

   ' Activate Microsoft Excel and assign to variable xl.
   Set XL = CreateObject("Excel.Application")

   ' Open the add-in file you want, in this example, XLQUERY.XLA.
   XL.Workbooks.Open (XL.librarypath & "\MSQUERY\XLQUERY.XLA")

   ' If you need to register the functions and commands
   ' contained in a resource (XLL), use the RegisterXLL method.
   ' In the example below, all functions of Analys32.xll are
   ' registered.
   ' XL.RegisterXLL "Analys32.xll"

   ' Run any auto macros contained in the add-in file
   ' Auto macros don't run when you open a file
   ' using the Open method.
   XL.Workbooks("xlquery.xla").RunAutoMacros 1

   Set XL = Nothing
 End Sub
				

詳細

Excel を OLE オートメーション オブジェクトとして呼び出した場合、Excel ではアドインまたは XLStart ディレクトリのファイルが読み込まれないため、読み込み処理はすべて明示的に行う必要があります。アドインを読み込む必要がある場合は、手動で読み込むことができます。

これは、CreateObject コマンドを使用して Excel を呼び出したときに、マクロ エラー、ファイルがロックされている場合の警告、または読み取り専用ファイルの警告によって Excel の読み込みが妨げられないことも意味します。この動作のもう 1 つの利点は、アドインやファイルを読み込む場合よりも、Excel の読み込み時間が短くなることです。

関連情報

Visual Basic for Applications のヘルプの入手方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
226118 Visual Basic for Applications プログラミングの学習に役立つ、利用可能なリソースの一覧

プロパティ

文書番号: 213489 - 最終更新日: 2007年2月16日 - リビジョン: 5.1
この資料は以下の製品について記述したものです。
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
キーワード:?
kbautomation kbvba kbexpertiseinter kbdtacode kbprb kbprogramming KB213489
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com