WORD、高手们、宏、VBA、宏有关批量运行

怎么自动对一个文件夹下的N个word文件批量执行一个宏?
让宏自动去查找这些word文件,找到后打开,并对其执行指定的宏。

Sub 批量操作WORD()
   Dim path          As String
   Dim FileName  As String
   Dim worddoc   As Document
   Dim MyDir       As String
   MyDir = "G:\360data\重要数据\桌面\新建文件夹 (2)"  '文件夹路径根据需要自己修改,需要处理的文件都放该文件夹内
   FileName = Dir(MyDir & "\*.doc*", vbNormal)
   Do Until FileName = ""
   If FileName <> ThisDocument.Name Then
         Set worddoc = Documents.Open(MyDir & "\" & FileName)
         worddoc.Activate
         Call 处理WORD  '调用宏,换成你自己宏的名字
         worddoc.Close True
         FileName = Dir()
    End If
   Loop
Set worddoc = Nothing
End Sub
'======================下面的宏换成你自己的宏=================================
Sub 处理WORD()
 ActiveDocument.Paragraphs(1).Range.Select
 Selection.Font.Size = 72
End Sub

追问

老大,厉害,已经能实现当前目录的了,能不能加个扣扣(我的296964585),还有几个问题想请教
1、如何实现对当前目录以及当前目录下所有文件夹内的word文件进行这个操作;
2、我的宏是将word转换成一个指定名称的PDF,能不能将这个pdf放入以当前WORD命名的文件夹中,(问题可能表述不是太清,您看一下,不行了我再补充)
我现在成了一个word的宏爱好者了,请老大多指教!!!O(∩_∩)O谢谢

追答Sub 批量处理WORD()
Dim i As Long
Dim worddoc   As Document
    With Application.FileSearch '调用fileserch对象
        .NewSearch '开始新的搜索
        .LookIn = "D:\360data\重要数据\桌面\新建文件夹" '设置搜索的路径
  
        .SearchSubFolders = True '搜索范围包括 LookIn 属性指定的文件夹中的所有子文件夹
        .FileName = "*.doc*" '设置搜索的文件类型
         If .Execute() > 0 Then '如果找到文件
             ReDim arr(1 To .FoundFiles.Count, 1 To 1)
             For i = 1 To .FoundFiles.Count
                If FileName <> ThisDocument.Name Then
                   Set worddoc = Documents.Open(.FoundFiles(i))
                   worddoc.Activate
                   Call 处理WORD  '调用宏,换成你自己宏的名字
                   worddoc.Close True
                End If
            Next i
        Else
             MsgBox "没找到文件"
        End If
        Set worddoc = Nothing
     End With

End Sub

追问

这是大侠改好的,offce2007能用的,能检索到子目录的,代码,赞一个,厉害!!!ttp://zhidao.baidu.com/question/1945740186404896548.html

追答

感谢 蓝色幻想 提供视频教程

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-12
工具-宏-指定宏-编辑- 将你需要执行的宏代码复制在一个指令下,最后指定这个宏代码就行了
相似回答