office word批處理入門(一)doc文檔批量合并

“親,你干什么寫個東西,還搞得支離破碎的?”這是一句怨念……

舉一個例子,我有一個文件夾A,A里面有一百個doc文件,我要把這一百個doc文件合并成一個文件,怎么辦?

新建一個word文檔,把100個doc文件,一個個打開,一個個復(fù)制進(jìn)新建Word文檔里面,OK,可以,長此以往下去,會得腱鞘炎的!

換一種方法,我們用office word帶的宏功能來處理。

步驟如下:

1. 在文件夾A里面,新建一個文件“合并.doc”,把“合并.doc”打開。

2. 按下alt+f11鍵,調(diào)出office word的宏窗口。絕大多數(shù)帶有VBA的軟件,調(diào)出VBA窗口的快捷方式都是alt+f11。我用的是word2010,可以在菜單欄——視圖——宏的窗口調(diào)出宏的對話框,但是按快捷鍵就可以了,要不然的話,你還得創(chuàng)建一個宏,才能把編輯窗口調(diào)出來。

3. 在Microsoft Visual Basic for Applications窗口里面,如圖上所示,在“ThisDocument”上右鍵單擊選擇“查看代碼”,然后會出現(xiàn)右側(cè)的“ThisDocument(代碼)”的面板。

4. 把下面的代碼,破折號里面的內(nèi)容復(fù)制到面板里面,如圖所示。

————————————————

Sub 合并文檔()

Application.ScreenUpdating = False

MyPath = ActiveDocument.Path

MyName = Dir(MyPath & "\" & "*.doc")

i = 0

Do While MyName <> ""

If MyName <> ActiveDocument.Name Then

Set wb = Documents.Open(MyPath & "\" & MyName)

Selection.WholeStory

Selection.Copy

Windows(1).Activate

Selection.EndKey Unit:=wdLine

Selection.TypeParagraph

Selection.Paste

i = i + 1

wb.Close False

End If

MyName = Dir

Loop

Application.ScreenUpdating = True

End Sub

——————————————

5. 點擊運行,如下圖所示,稍等幾分鐘,等待運行結(jié)束,文件夾A里面的100個doc文件的內(nèi)容就都會黏貼在當(dāng)前文件“合并.doc”,保存就可以啦,可能會出現(xiàn)一個對話框,默認(rèn)選擇“是”就可以。

這是最簡單的方法了,但問題也有,就是只能把doc文件合并,要是一個文件夾里面,既有doc文件,又有docx文件,又有txt文件,怎么辦呢?

把代碼里面的doc去掉?別瞎想了,合并出來的會是亂碼,所以我們就需要按部就班的了,還是假設(shè)有一個文件夾A,里面有100個混雜的文件,有doc格式的,有docx格式的,有txt格式的,兩個辦法,其一是doc、docx、txt類型的文件分別合并成合并.doc、合并.docx、合并.txt文件。

步驟如下:

1.在文件夾A里面新建一個文件“合并.doc”。按照上面所說的方法,把如下的代碼復(fù)制到“ThisDocument(代碼)”面板上,運行,就把文件夾A里面所有的doc文件都復(fù)制到“合并.doc”文件里面了,保存。

————————————————

Sub 合并文檔()

Application.ScreenUpdating = False

MyPath = ActiveDocument.Path

MyName = Dir(MyPath & "\" & "*.doc")

i = 0

Do While MyName <> ""

If MyName <> ActiveDocument.Name Then

Set wb = Documents.Open(MyPath & "\" & MyName)

Selection.WholeStory

Selection.Copy

Windows(1).Activate

Selection.EndKey Unit:=wdLine

Selection.TypeParagraph

Selection.Paste

i = i + 1

wb.Close False

End If

MyName = Dir

Loop

Application.ScreenUpdating = True

End Sub

——————————————

2.在文件夾A里面新建一個文件“合并.docx”。按照上面所說的方法,把如下的代碼復(fù)制到“ThisDocument(代碼)”面板上,運行,就把文件夾A里面所有的docx文件都復(fù)制到“合并.docx”文件里面了,保存。

————————————————

Sub 合并文檔()

Application.ScreenUpdating = False

MyPath = ActiveDocument.Path

MyName = Dir(MyPath & "\" & "*.docx")

i = 0

Do While MyName <> ""

If MyName <> ActiveDocument.Name Then

Set wb = Documents.Open(MyPath & "\" & MyName)

Selection.WholeStory

Selection.Copy

Windows(1).Activate

Selection.EndKey Unit:=wdLine

Selection.TypeParagraph

Selection.Paste

i = i + 1

wb.Close False

End If

MyName = Dir

Loop

Application.ScreenUpdating = True

End Sub

——————————————

3.在文件夾A里面新建一個文件“合并.txt”。按照上面所說的方法,把如下的代碼復(fù)制到“ThisDocument(代碼)”面板上,運行,就把文件夾A里面所有的txt文件都復(fù)制到“合并.txt”文件里面了,保存。

————————————————

Sub 合并文檔()

Application.ScreenUpdating = False

MyPath = ActiveDocument.Path

MyName = Dir(MyPath & "\" & "*.txt")

i = 0

Do While MyName <> ""

If MyName <> ActiveDocument.Name Then

Set wb = Documents.Open(MyPath & "\" & MyName)

Selection.WholeStory

Selection.Copy

Windows(1).Activate

Selection.EndKey Unit:=wdLine

Selection.TypeParagraph

Selection.Paste

i = i + 1

wb.Close False

End If

MyName = Dir

Loop

Application.ScreenUpdating = True

End Sub

——————————————

這三個代碼是不一樣的,別弄混了,同樣,以上三步驟也是docx文件、txt文件批量合并的方法。

用復(fù)制粘貼,把三個合并文件合并成一個大文件,也可以。

第二種方法是把不同格式的文件統(tǒng)一成一種格式的。這又涉及到另一個內(nèi)容,我也不想篇幅太長,內(nèi)容太分散,所以,請參閱“doc、docx、txt等格式文件批量轉(zhuǎn)換格式”。

兩篇結(jié)合處理。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容