格伦(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)的功能区界面找到此技巧的版本。及更高版本):此处