GetCustomByIndex 方法 (ActiveX)
返回与索引值对应的自定义属性名称(键)和值。 支持的平台:仅限 Windows 签名VBA: RetVal = object.GetCustomByIndex(Index, pKey, pValue)
返回值 (RetVal)类型:字符串 自定义属性名称(键)和值。 言论没有其他评论。 例子VBA: Sub Example_GetCustomByIndex() ' 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_GetCustomByIndex() ;; 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 ) ) ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 22:23
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.