اگر از ویژگی های سند سفارشی زیاد در اسناد خود استفاده می کنید، ممکن است راهی برای چاپ مقادیر آنها بخواهید. (ویژگی های اسناد سفارشی مانند متغیرهایی برای یک سند هستند. آنها در برنامه نویسی VBA کاربردهای زیادی دارند.) متأسفانه هیچ دستور یا ویژگی برای چاپ مستقیم آنها وجود ندارد. با این حال، می توانید ویژگی ها را در یک سند جدید کپی کنید و سپس آن سند را چاپ کنید.
اساساً، تنها کاری که باید انجام دهید این است که یک سند جدید ایجاد کنید و سپس تمام ویژگی های سفارشی سند قدیمی را مرور کنید و نام و مقادیر آنها را در سند جدید کپی کنید. می توانید این کار را با استفاده از ویژگی Count مجموعه CustomDocumentProperties، همانطور که در زیر نشان داده شده است، انجام دهید:
Sub PrintDocProps()
Dim iPropCount As Integer
Dim i As Integer
Dim docSource As Document
Dim docTarget As Document
Set docSource = ActiveDocument
Set docTarget = Documents.Add
docTarget.Activate
iPropCount = docSource.CustomDocumentProperties.Count
Selection.TypeText Text:="There are "
If iPropCount > 0 Then
Selection.TypeText Text:=iPropCount
Else
Selection.TypeText Text:="no"
End If
Selection.TypeText Text:=" custom properties in the document."
Selection.InsertParagraph
Selection.InsertParagraph
For i = 1 to iPropCount
Selection.TypeText _
Text:=docSource.CustomDocumentProperties(i).Name
Selection.TypeText Text:="Value: "
Selection.TypeText _
Text:=docSource.CustomDocumentProperties(i).Value
Selection.InsertParagraph
Selection.InsertParagraph
Selection.InsertParagraph
Next i
End Sub
اگرچه این کد به خوبی کار خواهد کرد، اما خیلی قوی نیست. به عنوان مثال، بررسی نمی کند که آیا واقعاً ویژگی های سفارشی در سند منبع وجود دارد یا خیر. فقط فرض می کند که وجود دارد. با این حال، چنین کدنویسی می تواند به راحتی اضافه شود.