Peterは、Excelの起動時に、特定のアドインをロードしないように指定する方法があるかどうかを尋ねました。彼が念頭に置いているアドインは、ロードするのに多くの時間がかかり、常にそれを必要とするわけではありません。アドインを無効にすると、必要のないインスタンスでExcelをすばやく起動できるようになります。

残念ながら、特定のブックがまだ開いていないため、起動時にアドインを無効にするためにできることはほとんどありません。 (アドインはワークブックの前にロードされます。)ただし、試すことができることがいくつかあります。

まず、大きなアドインをロードするかどうかを尋ねるだけの独自のアドインを作成できるということです。

ユーザーの応答に応じて、次のコード行を使用してアドインをロードできます。

AddIns("Big Add-in").Installed = True

もちろん、「BigAdd-in」を実際にロードするアドインの名前に置き換える必要があります。ユーザーがアドインをロードしたくない場合は、コード行をスキップしてください。小さなアドインのCloseイベントで、大きなアドインをアンロードする次のような行を追加できます。

AddIns("Big Add-in").Installed = False

このように、アドインは、ユーザーが追加しても問題ないと言った場合にのみ追加され、Excelセッションの終了時に常にアンロードされます。

もう1つのアプローチは、大きなアドインをロードしないことですが、Personal.xlsファイルにルーチンを配置して、ユーザーにアドインをロードする機会を与えます。

以下は、Personal.xlsのWorkbook_Openイベントに追加できます。

Private Sub Workbook_Open()

With Application         .OnKey "{TAB}", "InstallMyAddIn"

.OnTime (Now + TimeValue("0:00:05")), "DisableTABProc"

End With End Sub

このマクロの目的は、ユーザーがTabキーを押して大きなアドインが読み込まれるまでの期間(この場合は5秒)を与えることです。 Tabキーが押された場合、.OnKeyメソッドはインストールルーチンを実行し、.OnTimeルーチンは、5秒が経過すると無効化ルーチンを実行するタイマーを開始します。このマクロは2つのルーチンを呼び出すことに注意してください。これらは、Personal.xlsの通常のモジュールに入れることができます。

Sub InstallMyAddIn()

AddIns("Big Add-in").Installed = True     DisableTABProc End Sub
Sub DisableTABProc()

Application.OnKey "{TAB}", ""

End Sub

もちろん、Personal.xlsのWorkbook_Closeイベントのコードを追加する必要があります。この場合、アドインをアンロードします。

Private Sub Workbook_Close()

AddIns("Big Add-in").Installed = False End Sub

マクロを使用したくない場合は、Excelを起動する前に、いつでも大きなアドインをディレクトリの場所から移動するか、アドインの名前を変更することができます。 Excelがアドインを見つけられない場合、Excelは読み込まずに読み込みを続行します。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2383)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。