SetCustomByIndex メソッド(ActiveX)

インデックス値に対応するカスタム プロパティの名前(キー)と値を設定します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

object.SetCustomByIndex Index, key, Value
object

タイプ: SummaryInfo

このメソッドが適用されるオブジェクト。

Index

アクセス: 入力のみ

タイプ: 長整数型

プロパティのインデックス値。インデックスの範囲は、0~カスタム プロパティの数 -1 です。

key

アクセス: 入力のみ

タイプ: 文字列

インデックス値のカスタム プロパティ名。

Value

アクセス: 入力のみ

タイプ: 文字列

インデックス値のカスタム プロパティ値。

戻り値(RetVal)

戻り値はありません。

注意

追加の注意はありません。

VBA:

Sub Example_SetCustomByIndex()
    ' 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 = "http://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

Visual LISP:

(vl-load-com)
(defun c:Example_SetCustomByIndex()
    ;; 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 "http://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
           )
    )
)