返回列表 上一主題 發帖

[發問] WORD自訂義頁碼分割---VBA

[發問] WORD自訂義頁碼分割---VBA

有一需求...
例...一個303頁的docx檔案
希望能自訂頁碼需求(1-90,91-158,159-235,236-265,266-299,300-303)
分割為6個docx檔案
請求該 VBA 程式碼該如何?

先把你的代碼貼上來
Word呈現極致的靜態之美,Excel展現極致的動態之美。

TOP

回復 2# linyancheng

不好意思!感謝版主回復

只知網路上將一個word文件按頁數分割為多個文件VBA...

大部分修改控制每隔幾頁分割一次(例如單一一頁分割或是每隔幾頁(例 10頁)...

目前無能自訂頁碼需求VBA代碼(1-90,91-158,159-235,236-265,266-299,300-303)

TOP

本帖最後由 ciboybj 於 2021-9-1 22:41 編輯

以下是我直覺想到的方式
看有沒有版上的大神有其他的更好的方式
如果要把一個檔案拆成6個,應該是利用剪下、刪除等方式可以簡單達到
  1. Sub test()
  2.     '到指定頁數,設定書籤
  3.         Selection.GoTo wdGoToPage, wdGoToAbsolute, 1
  4.         ActiveDocument.Bookmarks.Add name:="p1"
  5.         Selection.GoTo wdGoToPage, wdGoToAbsolute, 90
  6.         ActiveDocument.Bookmarks.Add name:="p90"
  7.    
  8.     '利用書籤,設定範圍、選取範圍、複製範圍內容
  9.         Dim orng As Range
  10.         Set orng = ActiveDocument.Range
  11.         orng.Start = orng.Bookmarks("p1").Range.End
  12.         orng.End = orng.Bookmarks("p90").Range.Start
  13.         orng.Select
  14.         orng.Copy
  15.    
  16.     '建立新檔案,將複製的範圍內容貼入至新檔案中,新檔案另存指定名稱
  17.         Dim docNew As Document
  18.         Set docNew = Documents.Add
  19.         With docNew
  20.             .Content.Paste
  21.             .SaveAs FileName:="Sample.doc"
  22.         End With
  23. End Sub
複製代碼

TOP

回復 4# ciboybj

非常感謝  ciboybj  提供的程式碼...
經實測之後可依程式碼自訂頁碼複製...貼上...另存新檔
或許是來源檔案格式問題,所產生之檔案格式非原本檔案頁次
再度感謝 ciboybj 提供之方式   ^^

TOP

以下是我直覺想到的方式
看有沒有版上的大神有其他的更好的方式
如果要把一個檔案拆成6個,應該是利用剪下 ...
ciboybj 發表於 2021-9-1 22:38


測試了一下,還OK
滿好用的,謝謝你的分享!

TOP

回復 6# ianlcc

謝謝您...共同分享實用之處

TOP

        靜思自在 : 布施如播種,以歡喜心滋潤種子,才會發芽。
返回列表 上一主題