گلن در جستجوی راهی بود تا "علامتی" روی یک سند بگذارد تا نشان دهد که بایگانی شده است. علاوه بر این، اسناد زیادی برای علامت گذاری وجود داشت، بنابراین راهی برای بارگیری آنها، اضافه کردن علامت و ذخیره مجدد آنها مطلوب بود.
راه های مختلفی وجود دارد که می توان به چنین وظیفه ای دست یافت. تفاوت ها دقیقاً با نحوه قرار دادن "علامت" در یک سند تعیین می شود. بدیهی است که کلمه "Archive" (یا برخی از اصطلاحات مشابه) را می توان به یک سند اضافه کرد، اما این بر ظاهر واقعی خود سند تأثیر می گذارد که اغلب نامطلوب است.
راه حلی وجود دارد که شامل هیچ علامت قابل مشاهده ای برای سند نمی شود - از ویژگی های سند استفاده کنید. می توانید یک ویژگی سند سفارشی تنظیم کنید که نشان دهد آیا سند بایگانی شده است یا نه. می توانید بعداً ویژگی را جستجو کنید تا مشخص کنید کدام فایل ها چیست. معیارهای شما را برآورده کند
ماکرو زیر همه اسناد را در یک فهرست (و احتمالاً هر زیر شاخه) بارگیری می کند و یک ویژگی سند سفارشی ایجاد یا تنظیم می کند که نشان می دهد سند بایگانی شده است. در این حالت، ویژگی سفارشی Archive نامیده می شود و روی یک شرط True (Yes) تنظیم می شود.
Public Sub SetArchive()
Dim bExists As Boolean
With Application.FileSearch
.LookIn = "C:" " where to search
.SearchSubFolders = True " search the subfolders
.FileName = "*.doc" " file pattern to match
" if more than one match, execute the following code
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
" Open the file
Documents.Open FileName:=.FoundFiles(i)
" Begin document changes
" See if the doc variable exists
bExists = False
For Each varItem In ActiveDocument.CustomDocumentProperties
If varItem.Name = "Archive" Then
bExists = True
Exit For
End If
Next varItem
If Not bExists Then
" Add and set document property
ActiveDocument.CustomDocumentProperties.Add _
Name:="Archive", LinkToContent:=False, _
Type:=msoPropertyTypeBoolean, Value:=True
Else
"Already exists, so just set it
ActiveDocument.CustomDocumentProperties("Archive") = True
End If
" End document changes
" Force document to be saved
ActiveDocument.Saved = False
" Save and close the current document
ActiveDocument.Close wdSaveChanges
Next i
Else
" Could not find any DOC files
MsgBox "No files found."
End If
End With
End Sub
برای استفاده از ماکرو، فقط مشخصات دایرکتوری را در خط پنجم ماکرو تغییر دهید (با .LookIn شروع می شود). پس از اجرا، ویژگی Archive ایجاد و در هر یک از اسناد تنظیم می شود. می توانید با بارگذاری یکی از فایل ها و نمایش ویژگی های فایل، نتایج را مشاهده کنید. نحوه نمایش اطلاعات به نسخه Word که استفاده می کنید بستگی دارد:
- اگر از Word 2007 استفاده می کنید، روی دکمه Office کلیک کنید، سپس Prepare | را انتخاب کنید خواص. Word پانل اطلاعات سند را در بالای سند نمایش می دهد. از لیست کشویی Document Properties (گوشه سمت چپ بالای پانل اطلاعات سند) برای انتخاب ویژگی های پیشرفته استفاده کنید. Word کادر محاوره ای Properties را نمایش می دهد.
- اگر از Word 2010 استفاده میکنید، روی تب File در نوار و سپس Info | کلیک کنید خواص | ویژگی های پیشرفته Word کادر محاوره ای Properties را نمایش می دهد.
صرف نظر از اینکه از کدام نسخه Word استفاده می کنید، روی تب Custom کلیک کنید. توجه داشته باشید که ویژگی Archive باید در کادر محاوره ای قابل مشاهده باشد.
یک نکته جالب در مورد این ماکرو وجود دارد. توجه داشته باشید که باید با قرار دادن ویژگی Saved برای سند روی False، سند را به "اجبار" ذخیره کنید. اگر این کار را انجام ندهید، ویژگی سفارشی شما ذخیره نمی شود. چرا؟ ظاهراً Word تغییر در یک ویژگی سفارشی - از جمله اضافه کردن یک - را به عنوان دلیلی برای ذخیره یک سند نمیشناسد. بنابراین، مگر اینکه ویژگی Saved را مجبور به False کنید، Word تشخیص نمیدهد که هیچ تغییری در سند رخ داده است.
اگر ترجیح می دهید از رویکرد ویژگی سفارشی برای علامت گذاری بایگانی خود استفاده نکنید، می توانید برای دستیابی به نتایج دلخواه، تغییراتی در این ماکرو ایجاد کنید. تنها کاری که باید انجام دهید این است که کد بین نظرات "شروع تغییرات سند" و "پایان تغییرات سند" را با آنچه می خواهید روی سند انجام شود جایگزین کنید. به عنوان مثال، اگر می خواهید یک واترمارک در سند قرار داده شود، به سادگی کد یادداشت شده را با کدی جایگزین کنید که واترمارک را ایجاد و قرار می دهد.