システム変数の値が変更されたときに開始されます。
サポートされているプラットフォーム: Windows のみ
VBA:
object.SysVarChanged(SysVarName, NewVal)
タイプ: Application
有効なコンテナ オブジェクトを評価するオブジェクト式この場合、有効なコンテナはアプリケーションだけです。
タイプ: 文字列; ハンドラへの入力
値が変更されたシステム変数の名前
タイプ: バリアント型; ハンドラへの入力
システム変数の新しい値。
このイベントは、システム変数を変更しようとする試みがなされたことを示します。実際の値が変更されたことを示すのではありません。場合によっては、システム変数を設定してもその値が変化しないことがあります。たとえば、システム変数 FILLMODE が 0 であるときに誰かがこれを 0 に設定しようとすると、この呼び出しは実際には FILLMODE の値に影響を与えませんが、このシステム変数に対するイベントが発生します。
モーダル ダイアログが表示されている間、イベントは発生しません。
VBA:
Public WithEvents ACADApp As AcadApplication ' Use with Application Event Examples Sub Example_AcadApplication_Events() ' This example intializes the public variable (ACADApp) which will be used ' to intercept AcadApplication Events ' ' The VBA WithEvents statement makes it possible to intercept an generic object ' with the events associated with that object. ' ' Before you will be able to trigger any of the AcadApplication events, ' you will first need to run this procedure. ' We could get the application from the ThisDocument object, but that would ' require having a drawing open, so we grab it from the system. Set ACADApp = GetObject(, "AutoCAD.Application.20") End Sub Private Sub ACADApp_SysVarChanged(ByVal SysvarName As String, ByVal newVal As Variant) ' This example intercepts an Application SysVarChanged event. ' ' This event is triggered when the value of a system variable is changed. ' ' To trigger this example event: ' 1) Make sure to run the example that initializes ' the public variable (named ACADApp) linked to this event. ' ' 2) Change the value of a system variable in AutoCAD. ' For example: Type GRIDMODE on the command line and toggle the grid display on/off ' Use the "SysvarName" and "newVal" variables to determine which ' system variable has changed and its new value. MsgBox "The system variable " & SysvarName & " was just changed to: " & newVal End Sub
Visual LISP:
Not available