起動時に特定のアドインを除外する(Microsoft Excel)
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_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(12005)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。
Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります:
link:/ excel-Exclusive_a_Specific_Add-In_at_Startup [起動時の特定のアドインを除く]
。