CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2021 开发者帮助

GetCustomByKey 方法 (ActiveX)

2024-5-18 18:32| 发布者: admin| 查看: 92| 评论: 0|原作者: admin|来自: AutoCAD

GetCustomByKey 方法 (ActiveX)

返回与名称(键)值对应的自定义属性值。

支持的平台:仅限 Windows

签名

VBA:

RetVal = object.GetCustomByKey(key, pValue)
对象

类型:SummaryInfo

此方法应用到的对象。

钥匙

访问:仅输入

类型:字符串

自定义属性的名称。

p值

访问:仅输出

类型:字符串

与自定义属性名称对应的自定义属性值。

返回值 (RetVal)

类型:字符串

自定义属性值。

言论

没有其他评论。

例子

VBA:

Sub Example_GetCustomByKey()
    ' This example shows how to access drawing properties
            
    ' Add and display standard properties
    ThisDrawing.SummaryInfo.Author = "John Doe"
    ThisDrawing.SummaryInfo.Comments = "Includes all ten levels of Building Five"
    ThisDrawing.SummaryInfo.HyperlinkBase = "https://www.autodesk.com"
    ThisDrawing.SummaryInfo.Keywords = "Building Complex"
    ThisDrawing.SummaryInfo.LastSavedBy = "JD"
    ThisDrawing.SummaryInfo.RevisionNumber = "4"
    ThisDrawing.SummaryInfo.Subject = "Plan for Building Five"
    ThisDrawing.SummaryInfo.Title = "Building Five"

    Author = ThisDrawing.SummaryInfo.Author
    Comments = ThisDrawing.SummaryInfo.Comments
    HLB = ThisDrawing.SummaryInfo.HyperlinkBase
    KW = ThisDrawing.SummaryInfo.Keywords
    LSB = ThisDrawing.SummaryInfo.LastSavedBy
    RN = ThisDrawing.SummaryInfo.RevisionNumber
    Subject = ThisDrawing.SummaryInfo.Subject
    Title = ThisDrawing.SummaryInfo.Title
    MsgBox "The standard drawing properties are " & vbCrLf & _
           "Author = " & Author & vbCrLf & _
           "Comments = " & Comments & vbCrLf & _
           "HyperlinkBase = " & HLB & vbCrLf & _
           "Keywords = " & KW & vbCrLf & _
           "LastSavedBy = " & LSB & vbCrLf & _
           "RevisionNumber = " & RN & vbCrLf & _
           "Subject = " & Subject & vbCrLf & _
           "Title = " & Title & vbCrLf

    ' Add and display custom properties
    Dim Key0 As String
    Dim Value0 As String
    Dim Key1 As String
    Dim Value1 As String
    Dim CustomPropertyBranch As String
    Dim PropertyBranchValue As String
    Dim CustomPropertyZone As String
    Dim PropertyZoneValue As String

    CustomPropertyBranch = "Branch"
    PropertyBranchValue = "Main"
    CustomPropertyZone = "Zone"
    PropertyZoneValue = "Industrial"

    ' Add custom properties
    If (ThisDrawing.SummaryInfo.NumCustomInfo >= 1) Then
        ThisDrawing.SummaryInfo.SetCustomByIndex 0, CustomPropertyBranch, PropertyBranchValue
    Else
        ThisDrawing.SummaryInfo.AddCustomInfo CustomPropertyBranch, PropertyBranchValue
    End If

    If (ThisDrawing.SummaryInfo.NumCustomInfo >= 2) Then
         ThisDrawing.SummaryInfo.SetCustomByKey CustomPropertyBranch, "Satellite"
    Else
         ThisDrawing.SummaryInfo.AddCustomInfo CustomPropertyZone, PropertyZoneValue
    End If

    'Get custom properties
    ThisDrawing.SummaryInfo.GetCustomByIndex 0, Key0, Value0
    Key1 = CustomPropertyZone
    ThisDrawing.SummaryInfo.GetCustomByKey Key1, Value1

    MsgBox "The custom drawing properties are " & vbCrLf & _
           "First property name = " & Key0 & vbCrLf & _
           "First property value = " & Value0 & vbCrLf & _
           "Second property name = " & Key1 & vbCrLf & _
           "Second property value = " & Value1 & vbCrLf
End Sub

可视化 LISP:

(vl-load-com)
(defun c:Example_GetCustomByKey()
    ;; This example shows how to access drawing properties
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    (setq summaryInfo (vla-get-SummaryInfo doc))
  
    ;; Add and display standard properties
    (vla-put-Author summaryInfo "John Doe")
    (vla-put-Comments summaryInfo "Includes all ten levels of Building Five")
    (vla-put-HyperlinkBase summaryInfo "https://www.autodesk.com")
    (vla-put-Keywords summaryInfo "Building Complex")
    (vla-put-LastSavedBy summaryInfo "JD")
    (vla-put-RevisionNumber summaryInfo "4")
    (vla-put-Subject summaryInfo "Plan for Building Five")
    (vla-put-Title summaryInfo "Building Five")

    (setq author (vla-get-Author summaryInfo))
    (setq comments (vla-get-Comments summaryInfo))
    (setq HLB (vla-get-HyperlinkBase summaryInfo))
    (setq KW (vla-get-Keywords summaryInfo))
    (setq LSB (vla-get-LastSavedBy summaryInfo))
    (setq RN (vla-get-RevisionNumber summaryInfo))
    (setq subject (vla-get-Subject summaryInfo))
    (setq Title (vla-get-Title summaryInfo))
    (alert (strcat "The standard drawing properties are "
                   "\nAuthor = " author
                   "\nComments = " comments
                   "\nHyperlinkBase = " HLB
                   "\nKeywords = " KW
                   "\nLastSavedBy = " LSB
                   "\nRevisionNumber = " RN
                   "\nSubject = " Subject
                   "\nTitle = " Title
           )
    )
  
    ;; Add and display custom properties
    (setq CustomPropertyBranch "Branch")
    (setq PropertyBranchValue "Main")
    (setq CustomPropertyZone "Zone")
    (setq PropertyZoneValue "Industrial")

    ;; Add custom properties
    (if (>= (vla-NumCustomInfo summaryInfo) 1)
        (vla-SetCustomByIndex summaryInfo 0 CustomPropertyBranch PropertyBranchValue)
        (vla-AddCustomInfo summaryInfo CustomPropertyBranch PropertyBranchValue)
    )

    (if (>= (vla-NumCustomInfo summaryInfo) 2)
        (vla-SetCustomByKey summaryInfo CustomPropertyBranch "Satellite")
        (vla-AddCustomInfo summaryInfo CustomPropertyZone PropertyZoneValue)
    )

    ;; Get custom properties
    (vla-GetCustomByIndex summaryInfo 0 'Key0 'Value0)
    (setq Key1 CustomPropertyZone)
    (vla-GetCustomByKey summaryInfo Key1 'Value1)
  
    (alert (strcat "The custom drawing properties are "
                   "\nFirst property name = " Key0
                   "\nFirst property value = " Value0
                   "\nSecond property name = " Key1
                   "\nSecond property value = " Value1
           )
    )
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 12:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部