次の方法で共有


Application.AutomationSecurity プロパティ (Excel)

プログラムによってファイルを開くときに Microsoft Excel が使用するセキュリティ モードを表す MsoAutomationSecurity 定数を設定または返します。 値の取得と設定が可能です。

構文

AutomationSecurity

expressionApplication オブジェクトを 表す変数。

注釈

このプロパティは、アプリケーションが起動したときに自動的に msoAutomationSecurityLow に設定されます。 したがって、既定の設定に依存するソリューションの分割を避けるため、注意が必要プログラムを使用してファイルを開いた後、このプロパティを msoAutomationSecurityLow にリセットします。 また、悪意のある破壊行為を回避するために、このプロパティの設定はプログラムからファイルを開く直前と直後に行う必要があります。

MsoAutomationSecurity の値に使用できるのは、 MsoAutomationSecurity クラスの定数のいずれかです。

  • msoAutomationSecurityByUI。 [ セキュリティ] ダイアログ ボックスで指定されたセキュリティ設定を使用します。

  • msoAutomationSecurityForceDisable。 プログラムから開くすべてのファイルのすべてのマクロを、セキュリティの警告を表示せずに無効にします。

    注:

    Microsoft Excel 4.0 のマクロについては、この設定では無効化されません。 Microsoft Excel 4.0 マクロを含むファイルをプログラムで開くと、ファイルを開くかどうかを判断するように求められます。

  • msoAutomationSecurityLow。 すべてのマクロを有効にします。 アプリケーションが起動されたときの既定値です。

ScreenUpdatingFalse に設定してもアラートには影響せず、セキュリティ警告には影響しません。

DisplayAlerts の設定は、セキュリティ警告には適用されません。 たとえば、ユーザーが中レベルのセキュリティ レベルにあるときに DisplayAlertsを False に、 AutomationSecuritymsoAutomationSecurityByUI に設定した場合、マクロの実行中にセキュリティ警告が表示されます。 これによって、ファイルが正しく開けた場合にはセキュリティ警告は表示されますが、マクロでファイル オープン エラーをトラップすることも可能になります。

次の使用例は、現在の自動セキュリティ設定を調べ、マクロが無効になるように設定を変更し、[ファイルを開く] ダイアログ ボックスを表示し、選択された文書を開いた後、自動セキュリティを元の設定に戻します。

Sub Security() 
    Dim secAutomation As MsoAutomationSecurity 
 
    secAutomation = Application.AutomationSecurity 
 
    Application.AutomationSecurity = msoAutomationSecurityForceDisable 
    Application.FileDialog(msoFileDialogOpen).Show 
 
    Application.AutomationSecurity = secAutomation 
 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。