ExcelのVBA機能は非常に驚異的です。 VBAは本格的なプログラミング言語です。つまり、VBAを使用してほとんど何でもできます。一部の人々は、VBAでアプリケーション全体を作成したことさえあります。特定のタスクを実行するためにExcel環境上に構築されるアプリケーション。

このようなシステムを作成した場合は、Excelを最初に起動したとき、またはブックを開いたときに実行される自動マクロに間違いなく依存しています。これらのマクロを使用してExcel環境を構成し、アプリケーションの実行を開始するのが一般的です。ブックを開くときにShiftキーを押したままにするだけで、誰かがシステム全体を無効にできると考えるのはイライラします。 (Shiftキーを押したままにすると、ブックに関連付けられている自動マクロが無効になります。)

Excelには、起動マクロのShiftキーバイパスを無効にする方法はありません。理由は非常に単純です—セキュリティ。この機能をブロックまたは無効にすると、ユーザーが何もできなくてもマクロウイルスが実行を開始する可能性があります。これは非常に悪いでしょう。

考えられる回避策の1つは、起動マクロの実行が許可されていない場合に、ブックに有用な処理を行わせないことです。ブックを開いたときに表示されるデフォルトのワークシートは、正しく機能するためにマクロを有効にしてブックを開く必要があることを示しているはずです。その後、ユーザーはブックを閉じて再試行するように指示されます。

このデフォルトの状態では、ブック内の他のワークシートを「非常に非表示」の状態に設定できます。これは、各シートのVisibleプロパティをxlSheetVeryHiddenに設定することによって行われます。このプロパティを設定すると、ワークシートを手動で表示することはできません。これはVBA経由でのみ実行できます。

ユーザーがブックを開いてマクロが正常に実行された場合、デフォルトのワークシートを非表示にするか、単に削除することができます。次に、マクロは、必要に応じて「非常に隠された」ワークシートを再表示して、必要な方法でアプリケーションを実装できます。

注:

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

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

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