Action プロパティ(ActiveX)

図面で実行するセキュリティ関連操作を指定します。

サポートされるプラットフォーム: Windows 版 AutoCAD のみ、Windows 版 AutoCAD LT ではサポートされていません

構文と要素

VBA:

object.Action
object

タイプ: SecurityParams

このプロパティが適用されるオブジェクト。

プロパティの値

読み込み専用: いいえ

タイプ: 長整数型; AcadSecurityParamsType 列挙型

図面暗号化、図面プロパティの暗号化、デジタル署名、タイム スタンプに関する以下の定数を 1 つまたは複数指定します。

注: AutoCAD 2016 ベースの製品から、図面ファイルのパスワード保護機能が廃止されました。定数 ACADSECURITYPARAMS_ENCRYPT_DATA および ACADSECURITYPARAMS_ENCRYPT_DATA は廃止されました。SaveAs メソッドで 2 つの定数のいずれかを使用している場合は、エラーが発生します。

注意

各定数はセキュリティ関連操作を表します。Action プロパティを使用するとき、一連の操作のある時点で、Action プロパティを定数 ACADSECURITYPARAMS_SIGN_DATA に設定する必要があります。

複数のセキュリティ関連操作を指定するには、それらの操作を表す定数を追加します。たとえば、図面に署名し、タイムスタンプを使用するには、以下のように指定します。

ACADSECURITYPARAMS_SIGN_DATA + ACADSECURITYPARAMS_ADD_TIMESTAMP

VBA:

Sub Example_Action()
    ' This example attaches a digital signature and accompanying data to a file,
    ' and saves the file.

    Dim sp As AcadSecurityParams
    Set sp = GetInterfaceObject("AutoCAD.SecurityParams." & Left(AcadApplication.Version, 2))
    
    ' Attach a digital signature and timestamp it
    sp.Action = AcadSecurityParamsType.ACADSECURITYPARAMS_SIGN_DATA _
                + AcadSecurityParamsType.ACADSECURITYPARAMS_ADD_TIMESTAMP
    
    ' Certificate details follow
    sp.Subject = "Thawte Freemail Member"
    sp.Issuer = "Personal Freemail RSA 2000.8.30"
    sp.SerialNumber = "073848"
    sp.Comment = "This is now signed"
    sp.TimeServer = "NIST(time.nist.gov)"
    
    ThisDrawing.SaveAs "C:\MyDrawing.dwg", , sp
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_Action()
    ;; This example attaches a digital signature and accompanying data to a file,
    ;; and saves the file.

    (setq acadObj (vlax-get-acad-object)
          sp (vla-GetInterfaceObject acadObj (strcat "AutoCAD.SecurityParams." (substr (getvar "ACADVER") 1 2))))
    
    (vla-put-Visible acadObj :vlax-true)
    
    ;; Attach a digital signature and timestamp it
    (vla-put-Action sp (+ ACADSECURITYPARAMS_SIGN_DATA
                          ACADSECURITYPARAMS_ADD_TIMESTAMP))
    
    ;; Certificate details follow
    (vla-put-Subject sp "Thawte Freemail Member")
    (vla-put-Issuer sp "Personal Freemail RSA 2000.8.30")
    (vla-put-SerialNumber sp "073848")
    (vla-put-Comment sp "This is now signed")
    (vla-put-TimeServer sp "NIST(time.nist.gov)")

    (setq doc (vla-get-ActiveDocument acadObj))
    (vla-SaveAs doc "C:\\MyDrawing.dwg" acNative sp)

    (vlax-release-object sp)
)