Word按頁拆分成多個獨立文檔(Word文檔拆分成多個文檔)
- 健康知識
- 2022-08-17 11:38
前言|職場實例今天遇到了這樣的一個Word文檔問題:如何將一個Word文檔按頁拆分成多個獨立文檔?假設我們的這個Word文檔內含有頁,然后將這頁文檔按頁批量拆分成個單獨的Word文檔。如果在頁數數量少的情況下,我們完全可以通過手動一個一個新建Word文檔,然后將總文檔中的每頁內容復制粘貼到新建的一個一個的Word文檔中。但是如果頁數數據量大的話,再這樣無技巧的傻傻的工作,那效率就太低了。
下面小編就通過模擬一個簡單的例子來說明這個問題。如下圖所示:我們將含有2頁的名稱為“Excel情報局”的總Word文檔放在一個新建的文件夾內。
這個名稱為“Excel情報局”的Word文檔中的2頁內容如下圖所示:第一頁為一首詞“將進酒”,第二頁同樣為一首詞“水調歌頭”。最終實現的效果是:將名稱為“Excel情報局”的Word文檔中的2頁內容按頁批量拆分成2個單獨的文檔,兩首詞分別放在兩個單獨的文檔中,如下圖所示:解決方案|解題步驟在文件夾內打開那個需要按頁拆分的文檔(本例中它的文件名叫做“Excel情報局”)鍵入ALT+F打開VBA編輯器(或者點擊“開發工具”選項卡,點擊"visualbasic,進入VBA編輯器)。點擊“插入-模塊”,將下面一段VBA代碼復制粘貼到該新建的模塊中。
代碼如下:OptionExplicitSubSplitPagesAsDocuments()DimoSrcDocAsDocument,oNewDocAsDocumentDimstrSrcNameAsString,strNewNameAsStringDimoRangeAsRangeDimnIndexAsIntegerDimfsoAsObjectSetfso=CreateObject("Scripting.FileSystemObject")SetoSrcDoc=ActiveDocumentSetoRange=oSrcDoc.ContentoRange.CollapsewdCollapseStartoRange.SelectFornIndex=1ToActiveDocument.Content.Information(wdNumberOfPagesInDocument)oSrcDoc.Bookmarks("\page").Range.CopyoSrcDoc.Windows(1).ActivateApplication.Browser.Target=wdBrowsePageApplication.Browser.NextstrSrcName=oSrcDoc.FullNamestrNewName=fso.BuildPath(fso.GetParentFolderName(strSrcName),_fso.GetBaseName(strSrcName)&"_"&nIndex&"."&fso.GetExtensionName(strSrcName))SetoNewDoc=Documents.AddSelection.PasteoNewDoc.SaveAsstrNewNameoNewDoc.CloseFalseNextSetoNewDoc=NothingSetoRange=NothingSetoSrcDoc=NothingSetfso=NothingMsgBox"結束!"EndSub點擊上方的“運行-運行子過程/窗體”,稍等幾秒會彈出一個拆分成功結束的提示框,點擊“確定”后關閉VBA窗口,打開文件夾,發現已經拆分完成了,出現2個獨立的Word文檔。分別點擊打開拆分好的Word文檔,我們發現每首詞已經分別整齊的放置到了里面。
本文鏈接:http://www.yuzewang.net/jkzs/4262.html