如何实现自动对一个文件夹下的多个word文档批量执行同一个宏?
代码报错
代码报错
######代码无法运行
仿照改动了一下
我实现自动对一个文件夹下的多个word文档批量执行同一个宏
Sub 批量操作WORD()
Dim path As String
Dim FileName As String
Dim worddoc As Document
Dim MyDir As String
MyDir = "C:\Users\123456\Downloads" '文件夹路径根据需要自己修改,需要处理的文件都放该文件夹内
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文件改名()
Dim myS, myP As String
myP = ActiveDocument.path
Selection.GoTo What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=13
Selection.EndKey wdLine
Selection.HomeKey wdLine, wdExtend
myS = Selection.Range.Text
ActiveDocument.SaveAs FileName:=myP & "" & myS & ".doc"
End Sub
百度上搜索到的代码 ,可是不能使用
Sub 批量操作WORD()
Dim path As String
Dim FileName As String
Dim worddoc As Document
Dim MyDir As String
MyDir = "C:\Users\hp\Desktop\改名\待处理" '文件夹路径根据需要自己修改,需要处理的文件都放该文件夹内
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 完美文档()
'
' 完美文档 宏
'
'
Selection.EndKey Unit:=wdStory
Selection.EndKey Unit:=wdStory
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.InsertBreak Type:=wdSectionBreakContinuous
Selection.TypeParagraph
Selection.EndKey Unit:=wdStory, Extend:=wdExtend
Selection.Delete Unit:=wdCharacter, Count:=1
ActiveWindow.Panes(2).Activate
ActiveWindow.Panes(2).Activate
ActiveWindow.Panes(2).Activate
ActiveWindow.Panes(2).Activate
ActiveWindow.Panes(2).Activate
ActiveWindow.Panes(2).Activate
ActiveWindow.Panes(2).Activate
ActiveWindow.Panes(2).Activate
ActiveWindow.Panes(2).Activate
ActiveWindow.Panes(2).Activate
ActiveDocument.RemoveDocumentInformation (wdRDIDocumentProperties)
ActiveDocument.Save
End Sub
这是我仿照上面作的代码,代码一直报错,崩溃~~~
大神在哪?
如何实现自动对一个文件夹下的多个word文档批量执行同一个宏?
没有看代码,问题的本质就是如何灵活执行word文件(office文件)里面的宏,就说这个方法实现思路:
一是可以使用VBScipt来做,就是编写一个VBScipt文件(文件后缀是VBS),比如把文件名放到一个数组中,然后循环遍历数组,执行不同文件下的同一个宏。
二是也可以在一个Word、Excel或者PPT里面来做,效果应该也可以;
三是使用其他的应用程序来调用不同文件下的宏也可以。
感谢,用Word里的VB编辑器 具体怎么写代码来实现这一功能