راشل چند صد سند دارد که در آنها باید مالکیت عنوان را تغییر دهد. (این ویژگی عنوانی است که با سایر ویژگیهای سند حفظ میشود.) او از خود میپرسد که آیا راهی برای ایجاد آسان این تغییر در چنین تعداد زیادی از اسناد وجود دارد.
Word یک راه داخلی برای تأثیرگذاری بر تعداد زیادی از اسناد به طور همزمان ندارد، اما می توانید یک ماکرو ایجاد کنید تا کار را برای شما انجام دهد. نکته مهمی که باید به خاطر داشته باشید این است که می خواهید بتوانید به آن دسترسی داشته باشید. ویژگی عنوان سند داخلی، و شما این کار را در VBA با سر زدن به مجموعه BuiltInDocumentProperties انجام می دهید. برای مثال، می توانید ویژگی Title را در VBA به این ترتیب تغییر دهید:
ActiveDocument.BuiltInDocumentProperties("Title") = "xyz"
برای اینکه ماکرو خود را برای تعداد زیادی سند مؤثر کنید، تنها کاری که باید انجام دهید این است که نام اسنادی را که میخواهید تحت تأثیر قرار دهید تعیین کنید، هر سند را به نوبه خود بارگیری کنید، ویژگی Title را تغییر دهید و سپس سند را ذخیره کنید. ماکرو زیر این مجموعه از وظایف را انجام می دهد:
Sub ChangeTitles()
Dim Directory As String
Dim FType As String
Dim FName As String
Dim sTitle As String
Dim sFiles(250) As String
Dim iFiles As Integer
Dim J As Integer
Directory = Environ("USERPROFILE") & "Desktop emp"
FType = "*.docx"
sTitle = "My New Doc Title"
" Get names of documents
iFiles = 0
FName = Dir(Directory & FType)
While FName <> ""
iFiles = iFiles + 1
sFiles(iFiles) = FName
FName = Dir
Wend
" Process files
For J = 1 To iFiles
Documents.Open FileName:=Directory & sFiles(J)
ActiveDocument.BuiltInDocumentProperties("Title") = sTitle
ActiveDocument.Close wdSaveChanges
Next J
End Sub
توجه داشته باشید که در نزدیکی ابتدای ماکرو، متغیر Directory برابر با مسیر کامل پوشه "temp" در دسکتاپ تنظیم شده است. باید مطمئن شوید که Directory روی مسیر کامل برای هر کجا که اسنادی را که می خواهید تغییر دهید تنظیم شده است. همچنین توجه داشته باشید که مسیر با یک اسلش به پایان می رسد - این بسیار مهم است.
متغیر دیگری که می خواهید تغییر دهید عنوان جدیدی است که در متغیر sTitle ذخیره می کنید. هر سند در پوشه Directory دارای ویژگی Title آن به هر آنچه در متغیر sTitle ذخیره می شود تغییر می کند.
بخش اول ماکرو از میان تمام فایلهای موجود در فهرست هدف عبور میکند و نام هر فایل DOCX را در آنجا میگیرد. اینها در آرایه sFiles ذخیره می شوند. هنگامی که این کار کامل شد، آرایه از بین رفته و به عنوان راهنمایی برای باز کردن و تغییر فایل ها استفاده می شود.