Board logo

標題: [發問] WORD自訂義頁碼分割---VBA [打印本頁]

作者: cypd    時間: 2021-1-15 00:45     標題: WORD自訂義頁碼分割---VBA

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

先把你的代碼貼上來
作者: cypd    時間: 2021-2-27 00:33

回復 2# linyancheng

不好意思!感謝版主回復

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

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

目前無能自訂頁碼需求VBA代碼(1-90,91-158,159-235,236-265,266-299,300-303)
作者: ciboybj    時間: 2021-9-1 22:38

本帖最後由 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
複製代碼

作者: cypd    時間: 2021-9-2 12:10

回復 4# ciboybj

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

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


測試了一下,還OK
滿好用的,謝謝你的分享!
作者: cypd    時間: 2024-3-6 03:36

回復 6# ianlcc

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)