遍历文件夹中的文件以便在Word文档中进行更改

时间:2013-03-25 10:08:09

标签: vba ms-word word-vba

我在一个文件夹中有很多word文档,我想要应用我自定义的样式。

这是我的VBA代码。我希望VBA像转到特定文件夹并将自定义样式应用于所有word文档。有什么想法吗?

Sub styleapply()
'
' styleapply Macro
'
'
    Selection.WholeStory
    ActiveDocument.UpdateStyles
    'WordBasic.ApplyQFSetTemplate
    Selection.Style = ActiveDocument.Styles("sam'style")
End Sub

1 个答案:

答案 0 :(得分:0)

这应该可以帮到你的大部分地方:

Sub OpenWordFolder()
    Dim fd As FileDialog
    Dim doc As Document
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    fd.AllowMultiSelect = True
    fd.Show
    For Each folderItem In fd.SelectedItems
        fileItem = Dir(folderItem & "\" & "*.docx")
        While fileItem <> ""
            Set doc = Documents.Open(FileName:=folderItem & "\" & fileItem)
            Selection.WholeStory
            Selection.Style = ActiveDocument.Styles("sam'style")
            doc.Close SaveChanges:=True
            fileItem = Dir
        Wend
    Next
End Sub

请注意,我不确定ActiveDocument是否具有您创建的自定义样式 - 您可能需要将具有自定义样式的原始文档设置为Document对象,然后使用该Document对象为每个设置样式你打开的文件。