Application.AutomationSecurity プロパティ (Excel)

プログラムでファイルを開く際に使用するセキュリティ モードを表す msoAutomationSecurity クラスMicrosoft Excel設定します。 値の取得と設定が可能です。

構文

AutomationSecurity

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

解説

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

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

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

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

    注意

    Microsoft Excel 4.0 のマクロについては、この設定では無効化されません。 4.0 マクロMicrosoft Excel含むファイルをプログラムで開く場合は、ファイルを開くかどうかを確認するメッセージが表示されます。

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

ScreenUpdating を False に設定 しても、アラートには影響を与え、セキュリティ警告には影響を与えかねない。

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 のサポートおよびフィードバックを参照してください。