Note: The other languages of the website are Google-translated. Back to English

จะแบ่งเอกสาร Word ออกเป็นไฟล์แยกกันทุกๆ 5 หรือ n หน้าได้อย่างไร?

หากคุณมีเอกสาร Word ขนาดใหญ่ซึ่งมีหลายร้อยหน้าและตอนนี้คุณต้องการแยกเอกสารนี้ออกเป็นไฟล์แยกกันทุกๆ 10 หรือ n หน้า มีวิธีที่ง่ายและรวดเร็วในการแก้ไขงานนี้โดยไม่ต้องคัดลอกและวางทีละหน้าหรือไม่?

แยกเอกสาร Word ออกเป็นไฟล์แยกกันทุกๆ 10 หรือ n หน้าด้วยรหัส VBA

แยกเอกสาร Word ออกเป็นไฟล์แยกกันทุกๆ 10 หรือ n หน้าด้วยคุณสมบัติที่น่าทึ่ง


แยกเอกสาร Word ออกเป็นไฟล์แยกกันทุกๆ 10 หรือ n หน้าด้วยรหัส VBA

หากต้องการแบ่งเอกสารขนาดใหญ่ออกเป็นไฟล์แยกตามทุกๆ 10 หรือ n หน้ารหัส VBA ต่อไปนี้สามารถช่วยคุณได้โปรดดำเนินการดังนี้:

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. จากนั้นคลิก สิ่งที่ใส่เข้าไป > โมดูลคัดลอกและวางโค้ดด้านล่างลงในโมดูลเปล่าที่เปิดอยู่:

รหัส VBA: แบ่งเอกสารออกเป็นไฟล์แยกกันทุกๆ 10 หรือ n หน้า:

Sub DocumentSplitter()
    Dim xDoc As Document, xNewDoc As Document
    Dim xSplit As String, xCount As Long, xLast As Long
    Dim xRngSplit As Range, xDocName As String, xFileExt As String
    Dim xRegEx As RegExp
    Dim xPageCount As Integer
    Dim xShell As Object, xFolder As Object, xFolderItem As Object
    Dim xFilePath As String
    On Error Resume Next
    Set xDoc = Application.ActiveDocument
    Set xShell = CreateObject("Shell.Application")
    Set xFolder = xShell.BrowseforFolder(0, "Select a Folder:", 0, 0)
    If TypeName(xFolder) = "Nothing" Then Exit Sub
    Set xFolderItem = xFolder.Self
    xFilePath = xFolderItem.Path & "\"
    Application.ScreenUpdating = False
    Set xNewDoc = Documents.Add(Visible:=False)
    xDoc.Content.WholeStory
    xDoc.Content.Copy
    xNewDoc.Content.PasteAndFormat wdFormatOriginalFormatting
    With xNewDoc
        xPageCount = .ActiveWindow.Panes(1).Pages.Count
L1:     xSplit = InputBox("The document contains " & xPageCount & " pages." & _
                 vbCrLf & vbCrLf & " Please enter the page count you want to split:", "Kutools for Word", xSplit)
        If Len(Trim(xSplit)) = 0 Then Exit Sub
        Set xRegEx = New RegExp
        With xRegEx
            .MultiLine = False
            .Global = True
            .IgnoreCase = True
            .Pattern = "[^0-9]"
        End With
        If xRegEx.Test(xSplit) = True Then
            MsgBox "Please enter the page number:", vbInformation, "Kutools for Word"
            Exit Sub
        End If
        If VBA.Int(xSplit) >= xPageCount Then
            MsgBox "The number is greater than the document number." & vbCrLf & "Please re-enter", vbInformation, "Kutools for Word"
            GoTo L1
        End If
        xDocName = xDoc. Name
        xFileExt = VBA.Right(xDocName, Len(xDocName) - InStrRev(xDocName, ".") + 1)
        xDocName = Left(xDocName, InStrRev(xDocName, ".") - 1) & "_"
        xFilePath = xFilePath & xDocName
        For xCount = 0 To Int(xPageCount / xSplit)
            xPageCount = .ActiveWindow.Panes(1).Pages.Count
            If xPageCount > xSplit Then
                xLast = xSplit
            Else
                xLast = xPageCount
            End If
            Set xRngSplit = .GoTo(What:=wdGoToPage, Name:=xLast)
            Set xRngSplit = xRngSplit.GoTo(What:=wdGoToBookmark, Name:="\page")
            xRngSplit.Start = .Range.Start
            xRngSplit.Cut
            Documents.Add
            Selection.Paste
            ActiveDocument.SaveAs FileName:=xFilePath & xCount + 1 & xFileExt, AddToRecentFiles:=False
            ActiveWindow.Close
        Next xCount
        Set xRngSplit = Nothing
        xNewDoc.Close wdDoNotSaveChanges
        Set xNewDoc = Nothing
    End With
    Application.ScreenUpdating = True
End Sub

3. หลังจากวางโค้ดด้านบนแล้วยังคงอยู่ในไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน โปรดคลิก เครื่องมือ > อ้างอิงและในโผล่ออกมา เอกสารอ้างอิง - โครงการ กล่องโต้ตอบตรวจสอบ Microsoft VBScript นิพจน์ทั่วไป 5.5 ตัวเลือกใน อ้างอิงที่มีอยู่ กล่องรายการดูภาพหน้าจอ:

4. จากนั้นคลิก OK จากนั้นกด F5 กุญแจสำคัญในการเรียกใช้รหัสนี้และไฟล์ เรียกดูโฟลเดอร์ กล่องโต้ตอบจะปรากฏขึ้นโปรดเลือกโฟลเดอร์ที่คุณต้องการใส่ไฟล์แยกดูภาพหน้าจอ:

5. จากนั้นคลิก OK และกล่องข้อความแจ้งอีกอันจะปรากฏขึ้นเพื่อเตือนให้คุณป้อนหมายเลขหน้านับที่คุณต้องการแยกตามดูภาพหน้าจอ:

6. จากนั้นคลิก OK ปุ่มเอกสาร Word ที่ใช้งานได้ถูกแบ่งออกเป็นไฟล์แยกกันทุกๆ 10 หน้าคุณสามารถไปที่โฟลเดอร์ที่ระบุเพื่อดูผลลัพธ์:


แยกเอกสาร Word ออกเป็นไฟล์แยกกันทุกๆ 10 หรือ n หน้าด้วยคุณสมบัติที่น่าทึ่ง

Kutools สำหรับ Word รวมถึงคุณสมบัติที่มีประสิทธิภาพ - แยก ด้วยยูทิลิตี้นี้คุณสามารถแยกเอกสาร Word ขนาดใหญ่ออกเป็นไฟล์แยกกันได้อย่างรวดเร็วตาม Heading1 ตัวแบ่งหน้าตัวแบ่งส่วนและหน้า

ทิปส์:ที่จะใช้สิ่งนี้ แยก ประการแรกคุณควรดาวน์โหลดไฟล์ Kutools สำหรับ Wordแล้วใช้คุณสมบัตินี้อย่างรวดเร็วและง่ายดาย

หลังจากการติดตั้ง Kutools สำหรับ Wordโปรดทำตามนี้:

1. คลิก Kutools พลัส > แยกดูภาพหน้าจอ:

2. ในกล่องโต้ตอบที่โผล่ออกมาโปรดตั้งค่าการดำเนินการต่อไปนี้ตามที่คุณต้องการดูภาพหน้าจอ:

3. หลังจากเสร็จสิ้นการตั้งค่าโปรดคลิก OKและเอกสารทั้งหมดจะแบ่งออกเป็นหลายไฟล์ตามแต่ละหน้าโปรดดูภาพหน้าจอ:

คลิกเพื่อดาวน์โหลด Kutools for Word และทดลองใช้ฟรีทันที!


เครื่องมือเพิ่มประสิทธิภาพคำแนะนำ

 

Kutools For Word - คุณสมบัติขั้นสูงมากกว่า 100 รายการสำหรับ Word ประหยัดเวลา 50%

  • การดำเนินการที่ซับซ้อนและซ้ำ ๆ สามารถดำเนินการครั้งเดียวในไม่กี่วินาที
  • แทรกภาพหลาย ๆ โฟลเดอร์ลงในเอกสาร Word พร้อมกัน
  • ผสานและรวมไฟล์ Word หลาย ๆ ไฟล์ในโฟลเดอร์เข้าด้วยกันตามลำดับที่คุณต้องการ
  • แยกเอกสารปัจจุบันออกเป็นเอกสารแยกตามหัวข้อตัวแบ่งส่วนหรือเกณฑ์อื่น ๆ
  • แปลงไฟล์ระหว่าง Doc และ Docx, Docx และ PDF ชุดเครื่องมือสำหรับการแปลงและการเลือกทั่วไปและอื่น ๆ ...
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (8)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันพยายามแยกไฟล์คำ 166 หน้าและให้ 166 ไฟล์แต่ละไฟล์มี 166 หน้า?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สคริปต์ VBA: แบ่งเอกสารเป็นไฟล์แยกกันทุกๆ 10 หรือ n หน้าไม่ทำงาน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Sergey
โค้ดด้านบนทำงานได้ดีในเอกสาร Word ของฉัน คุณใช้ Word เวอร์ชันใด
และขั้นตอนใดที่ผิดพลาดในการทำงานของคุณ?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัส VBscript ทำให้ Word ขัดข้อง ฉันพยายามแยกไฟล์ Word ขนาด 32Mb ที่มีหลายหน้า แต่ดูเหมือนว่า Word จะไม่สามารถจัดการผ่าน VBscript ได้
ขอบคุณต่อไป
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีค่ะ คุณสตูเดีย
รหัส VBA อาจขัดข้องเมื่อมีเอกสารขนาดใหญ่ไม่เสถียร เราขอแนะนำให้คุณใช้เครื่องมือ Kutools for Word ซึ่งมีการอัปเดตและรองรับการแก้ปัญหานี้ คุณสามารถดาวน์โหลดและทดลองใช้งานฟรี 30 วัน
โปรดลอง ขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สำหรับฉัน VBA จะสร้างเอกสารฉบับเดียวที่เป็นสำเนาของต้นฉบับเท่านั้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสนี้ให้ข้อผิดพลาดในการคอมไพล์ซึ่งแสดงว่าผู้ใช้กำหนดประเภทไม่ได้กำหนด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งที่ดี. ฉันใช้มันเพื่อแบ่งด้วยเอกสารคำ 1 หน้า 1 มันประสบความสำเร็จยกเว้นว่าแต่ละเอกสาร (หลังจากแยก) มันมีทั้งหมด 2 หน้าแม้ว่าหน้าที่ 2 จะว่างเปล่าเสมอ 
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ