Excel は、オートメーション アドインを読み込むときに失敗した場合します。

現象

Microsoft Excel がセルの中に、オートメーション アドインをロードするときは、モードでは、Excel が失敗した場合を編集します。この問題は、需要が Excel に読み込まれてされているオートメーション アドインでのみ発生します。

原因

アドインをアドイン、フォームまたはダイアログ ボックスが表示される場合の読み込み時またはアドインを Excel の状態を変更しようとしている Excel をオートメーション要求を行った場合に、この問題が発生することができます。次の一覧には、Excel をオートメーション アドインを読み込むセル編集モード中に中に呼び出されたときにエラーが発生する可能性がありますオートメーション要求のサンプルが含まれています。
  • 現在の選択範囲をプログラムで変更します。次に例を示します。
    Application.ActiveSheet.Range("A1").Select
  • Windows コレクションのプロパティまたは項目のメソッドを呼び出します。次に例を示します。
    Application.ActiveWindow.Zoom = 200
  • 計算方法など、Excel の設定を変更します。次に例を示します。
    Application.CalculationMode = xlManual
Excel の環境、ブック、または、ワークシートを変更しようとコードの例としては、これらの項目すべてこの種類の操作は、編集モードでは使用できません。

解決策

アドインの読み込み中に上記の操作を使用しないでください。アドインの読み込み中に呼び出されるメソッドは、 Initializeメソッドを含めると、オートメーション アドインのIDTExtensibility2インターフェイスでは、アドインおよびOnStartupCompleteメソッドも実装する場合です。

状況

Microsoft は、これがこの資料の冒頭に記載されているマイクロソフト製品のバグとして認識しています。

詳細

問題を再現する手順を実行します。

  1. Visual Basic で新しい ActiveX DLL プロジェクトを開始します。
  2. プロジェクト] メニューの [ Project1 のプロパティをクリックします。TestAddInプロジェクト名を変更し、し、[ OK] をクリックします。
  3. Class1 のコード モジュールに次のコードを追加します。
    Private Sub Class_Initialize()    MsgBox "Class_Initialize"
    End Sub

  4. TestAddIn.dll をビルドします。
  5. Excel で新しいブックを開始します。
  6. Microsoft Office Excel 2003 または Excel 2002 では、次の手順を実行します。
    1. [ツール] メニューには、アドインをポイントし、[オートメーション] をクリックします。
    2. の一覧では、 TestAddIn.Class1をクリックし、[ OK] をクリックします。
    3. [アドイン] ダイアログ ボックスで [ OK] をクリックします。
    Microsoft Office Excel 2007 でこれらの手順に従います。
    1. Microsoft Office ボタンをクリックし、をクリックしてください
      Excel のオプションです。
    2. [アドイン] タブをクリックします。
    3. 管理] ボックスの一覧では、 Excel のアドインをクリックし、し、[移動] をクリックします。
    4. [アドイン] ダイアログ ボックスで次のようにクリックします。
      自動化します。
    5. の一覧では、 TestAddin.Class1をクリックし、[ OK] をクリックします。
    6. [OK] をクリックします。
  7. =、の任意のセルにします。「Class_Initialize」テキストをメッセージ ボックスが表示されます。
  8. メッセージ ボックスを閉じます[ok]をクリックします。しばらくすると、Excel は失敗します。

関連情報

詳細については、次の文書番号をクリックしてマイクロソフト サポート技術資料を参照してください。
291392 INFO: COM アドインおよびオートメーション アドインを Excel

プロパティ

文書番号:284876 - 最終更新日: 2017/01/31 - リビジョン: 1

フィードバック