我在Word 2003中有一个宏,该宏将打开文档的属性字段应用于同一文件夹中的所有.doc。该代码只工作一次。如果我创建一个文件夹,则在该文件夹中创建三个新文档,打开文档并运行宏,它将起作用。如果我在该文件夹中打开一个文档并再次运行该宏,则只会更改运行该宏的活动文档的属性。宏位于“普通”模板的模块中。代码:title = ActiveDocument.BuiltInDocumentProperties("Title")subject = ActiveDocument.BuiltInDocumentProperties("Subject")author = ActiveDocument.BuiltInDocumentProperties("Author")manager = ActiveDocument.BuiltInDocumentProperties("Manager")company = ActiveDocument.BuiltInDocumentProperties("Company")category = ActiveDocument.BuiltInDocumentProperties("Category")keywords = ActiveDocument.BuiltInDocumentProperties("Keywords")comments = ActiveDocument.BuiltInDocumentProperties("Comments")fileDirectory = ActiveDocument.PathvFile = Dir(fileDirectory & "\*.doc")Do While vFile <> "" Set wordDoc = Documents.Open(fileDirectory & "\" & vFile) With wordDoc .BuiltInDocumentProperties("Title") = title .BuiltInDocumentProperties("Subject") = subject .BuiltInDocumentProperties("Author") = author .BuiltInDocumentProperties("Manager") = manager .BuiltInDocumentProperties("Company") = company .BuiltInDocumentProperties("Category") = category .BuiltInDocumentProperties("Keywords") = keywords .BuiltInDocumentProperties("Comments") = comments .Save .Close End With vFile = DirLoop我不确定它是否与打开或保存文件的方式有关。至少如果它根本不起作用,我会知道代码是错误的,但是由于它至少可以在一个新文档上起作用,所以我不知道。提前致谢。 最佳答案 好吧,我现在正在工作。 Word有一个.Saved布尔值,显然,如果将其设置为true,则当您使用.Save时它不会保存更改,并且通过VBA更改属性似乎不算是足够重要的更改来设置为false。也许.Saved仍然可以工作。无论如何,我在.SaveAs之前添加了.Saved = False,现在它可以正常工作了。只是想让任何人知道在某个时候可能会思考同样的事情。这可能只是确保始终保存文件的一种不错的方式。