标记多个文档(Microsoft Word)
格伦(Glenn)正在寻找一种在文档上“标记”以表明其已被存档的方法。此外,有许多此类文档需要标记,因此需要一种加载它们,添加标记并再次保存的方法。
有许多不同的方法可以完成这样的任务。差异取决于“标记”在文档中的放置方式。显然,可以将“存档”一词(或某些此类术语)添加到文档中,但这会影响文档本身的实际外观,这通常是不希望的。
有一种解决方案不涉及文档的任何可见标记-使用文档属性。您可以设置一个自定义文档属性,该属性将指示文档是否已存档。您以后可以搜索该属性以确定哪些文件符合您的条件。
以下宏将把所有文档加载到目录(可能还有任何子目录)中,并创建或设置一个自定义文档属性,以指示该文档已被存档。在这种情况下,自定义属性被命名为Archive,并将其设置为True(是)
健康)状况。
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属性并在每个文档中进行设置。您可以通过加载文件之一,然后选择“文件” |“查看”来查看结果。属性|自定义存档属性在对话框中应该可见。
关于这个宏有一件有趣的事情。请注意,您必须通过将文档的Saved属性设置为False来“强制”保存文档。如果不这样做,则不会保存您的自定义属性。为什么?显然,Word无法识别对自定义属性的更改(包括添加一个属性)作为保存文档的原因。因此,除非您将Saved属性强制设置为False,否则Word无法识别文档中已发生任何更改。
如果您不想使用自定义属性方法来标记存档,则可以对此宏进行一些更改以实现所需的结果。您需要做的就是用您要对文档进行的操作替换“开始文档更改”和“结束文档更改”注释之间的代码。例如,如果要在文档中放置水印,则只需用创建和放置水印的代码替换注释的代码。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(1647)适用于Microsoft Word 97、2000、2002和2003。您可以为Word(Word 2007)的功能区界面找到此技巧的版本。及更高版本):此处