Пометка нескольких документов (Microsoft Word)
Гленн искал способ «поставить отметку» на документе, чтобы указать, что он был заархивирован. Кроме того, таких документов было много, поэтому желательно было их загрузить, добавить пометку и снова сохранить.
Есть много разных способов решения такой задачи. Различия определяются тем, как именно ставится «метка» в документе. Очевидно, что слово «Архив» (или подобная терминология) можно добавить в документ, но это повлияет на фактический внешний вид самого документа, что часто нежелательно.
Есть решение, которое не требует никаких видимых меток в документе — используйте свойства документа. Вы можете установить настраиваемое свойство документа, которое будет указывать, был ли документ заархивирован или нет. Позже вы сможете выполнить поиск свойства, чтобы определить, какие файлы соответствуют вашим критериям.
Следующий макрос загрузит все документы в каталог (и, возможно, любые подкаталоги), а также создаст или установит настраиваемое свойство документа, указывающее, что документ был заархивирован. В этом случае настраиваемое свойство называется Архив, и для него установлено значение Истина (Да)
состояние.
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 создается и устанавливается в каждом из документов. Вы можете просмотреть результаты, загрузив один из файлов, выбрав Файл | Недвижимость | Custom. В диалоговом окне должно быть видно свойство Archive.
В этом макросе есть одна интересная вещь. Обратите внимание, что вы должны «принудительно» сохранить документ, установив для свойства Saved для документа значение False. Если вы этого не сделаете, ваше настраиваемое свойство не будет сохранено. Зачем? По-видимому, Word не распознает изменение настраиваемого свойства, в том числе его добавление, как причину для сохранения документа. Таким образом, если вы не установите для свойства Saved значение False, Word не распознает, что в документе произошли какие-либо изменения.
Если вы предпочитаете не использовать подход настраиваемых свойств для маркировки вашего архива, вы можете внести некоторые изменения в этот макрос для достижения желаемых результатов. Все, что вам нужно сделать, это заменить код между комментариями «Начать изменения документа» и «Завершить изменения документа» на то, что вы хотите сделать с документом. Например, если вы хотите разместить водяной знак в документе, просто замените указанный код кодом, который создает и размещает водяной знак.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (1647) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:
link: / wordribbon-Marking_Multiple_Documents [Отметка нескольких документов]
.