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

วิธีการค้นหาและแทนที่ข้อความในเอกสาร Word จาก Excel?

ในเอกสาร Word เราสามารถใช้ฟังก์ชันค้นหาและแทนที่เพื่อค้นหาและแทนที่ข้อความได้อย่างรวดเร็ว แต่ถ้าจำเป็นต้องค้นหาและแทนที่ข้อความหลายข้อความ ให้ป้อนข้อความทีละข้อความในคุณลักษณะค้นหาและแทนที่จะใช้เวลานาน ในกรณีนี้ คุณสามารถป้อนข้อความค้นหาและแทนที่ลงในรายการเซลล์ และด้วยความช่วยเหลือของโค้ด VBA ใน Excel เพื่อทำงานนี้ให้สำเร็จได้อย่างง่ายดาย ในบทความนี้ ฉันจะแนะนำคุณลักษณะที่มีประโยชน์ในการค้นหาและแทนที่ข้อความในเอกสาร Word หลายชุด

ค้นหาและแทนที่หลายข้อความในเอกสาร Word เดียวจาก Excel ด้วยรหัส VBA

ค้นหาและแทนที่ข้อความหลายรายการในเอกสาร Word หลายฉบับจาก Excel ด้วยรหัส VBA

ค้นหาและแทนที่ข้อความหลายรายการในเอกสาร Word หลายฉบับด้วยคุณสมบัติอันทรงพลัง


ค้นหาและแทนที่หลายข้อความในเอกสาร Word เดียวจาก Excel ด้วยรหัส VBA

หากคุณต้องการค้นหาและแทนที่ข้อความบางข้อความในไฟล์ Word เพียงไฟล์เดียว โค้ด VBA ต่อไปนี้สามารถช่วยคุณได้

1. ในเวิร์กชีต Excel ให้สร้างคอลัมน์ที่มีข้อความที่คุณต้องการค้นหาและแทนที่ และคอลัมน์อื่นที่มีข้อความที่จะแทนที่ด้วยภาพหน้าจอด้านล่างที่แสดง แล้วกด Alt + F11 พร้อมกันเพื่อเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

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

รหัส VBA: ค้นหาและแทนที่หลายข้อความในไฟล์ Word ไฟล์เดียว

Sub replace_texts_range_of_cells()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFileDlg As FileDialog
On Error GoTo ExitSub
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
xFileDlg.AllowMultiSelect = False
xFileDlg.Filters.Add "Word Document", "*.docx; *.doc; *.docm"
xFileDlg.FilterIndex = 2
If xFileDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges):", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
Set xDoc = xWordApp.Documents.Open(xFileDlg.SelectedItems.Item(1))
For I = 1 To xRng.Areas.Item(1).Cells.Count
  With xDoc.Application.Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = xRng.Areas.Item(1).Cells.Item(I).Value
    .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
  End With
  xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
Next
ExitSub:
  Set xRng = Nothing
  Set xFileDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. หลังจากวางโค้ดแล้ว ยังอยู่ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก เครื่องมือ > อ้างอิงดูภาพหน้าจอ:

4. ในการโผล่ออกมา เอกสารอ้างอิง - VBAProject กล่องโต้ตอบเลือกไฟล์ ไลบรารีวัตถุ Microsoft Word 16.0 จากกล่องรายการ ดูภาพหน้าจอ:

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

6. จากนั้นคลิก OKในกล่องโต้ตอบต่อไปนี้ ให้กด Ctrl เพื่อเลือกข้อความต้นฉบับและเซลล์ข้อความใหม่แยกกันที่คุณต้องการใช้ ดูภาพหน้าจอ:

7. จากนั้นคลิก OK ปุ่ม ตอนนี้ ข้อความถูกพบและแทนที่ด้วยข้อความใหม่ในเอกสารที่คุณระบุ และไฟล์กำลังเปิดอยู่เช่นกัน คุณควรบันทึกเพื่อเก็บการเปลี่ยนแปลง


ค้นหาและแทนที่ข้อความหลายรายการในเอกสาร Word หลายฉบับจาก Excel ด้วยรหัส VBA

ที่นี่ ฉันยังสร้างโค้ด VBA สำหรับค้นหาและแทนที่ข้อความหลายข้อความในเอกสาร Word หลายฉบับ โปรดทำดังนี้:

1. เปิดไฟล์ Excel ที่มีค่าสองคอลัมน์เพื่อแทนที่และแทนที่ด้วยภาพหน้าจอด้านล่างที่แสดง จากนั้นกด Alt + F11 พร้อมกันเพื่อเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

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

รหัส VBA: ค้นหาและแทนที่หลายข้อความในไฟล์ Word หลายไฟล์

Sub FindReplaceAcrossMultipleWordDocuments()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFolderDlg As FileDialog
Dim xFSO As Scripting.FileSystemObject
Dim xFile As File
On Error GoTo ExitSub
Set xFolderDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFolderDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xFSO = New Scripting.FileSystemObject
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
For Each xFile In xFSO.GetFolder(xFolderDlg.SelectedItems(1)).Files
  If VBA.InStr(xFile.Type, "Microsoft Word") > 0 Then
    Set xDoc = xWordApp.Documents.Open(xFile.Path)
    For I = 1 To xRng.Areas.Item(1).Cells.Count
      With xDoc.Application.Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = xRng.Areas.Item(1).Cells.Item(I).Value
        .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
      End With
      xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
    Next
    xDoc.Close wdSaveChanges
  End If
Next
xWordApp.Quit
MsgBox "The Find and Replace has been completed", vbInformation + vbOKOnly, "Kutools for Excel"
ExitSub:
  Set xRng = Nothing
  Set xFolderDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

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

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

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

6. สุดท้ายคลิก OKและข้อความต้นฉบับจะถูกแทนที่ด้วยข้อความใหม่ในไฟล์เหล่านี้ หลังจากเสร็จสิ้น กล่องโต้ตอบจะปรากฏขึ้นดังภาพด้านล่างที่แสดง:

7. คลิก OK เพื่อปิดกล่องโต้ตอบ และคุณสามารถไปที่ไฟล์เพื่อตรวจสอบผลลัพธ์ที่แปลงแล้ว


ค้นหาและแทนที่ข้อความหลายรายการในเอกสาร Word หลายฉบับด้วยคุณสมบัติอันทรงพลัง

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

1. เปิดไฟล์ Word หนึ่งไฟล์ จากนั้นคลิก Kutools พลัส > ค้นหาแบทช์และแทนที่ดูภาพหน้าจอ:

2. ในการเปิด ค้นหาแบทช์และแทนที่ โปรดดำเนินการดังต่อไปนี้:

  • คลิก เพิ่ม ปุ่มเพื่อเพิ่มไฟล์ Word ที่คุณต้องการค้นหาและแทนที่ข้อความ
  • ในบานหน้าต่างด้านซ้ายคลิก เพิ่มแถว จากริบบิ้นด้านบน
  • ในช่องที่แทรก ให้ป้อนข้อความต้นฉบับและข้อความใหม่ลงในช่อง หา และ แทนที่ แยกคอลัมน์ที่คุณต้องการค้นหาและแทนที่ นอกจากนี้ คุณสามารถระบุสีสำหรับเน้นข้อความที่แทนที่ได้ตามต้องการ

3. หลังจากสร้างเกณฑ์การค้นหาแล้ว ให้คลิก แทนที่ ปุ่มไปที่ ดูตัวอย่างผลลัพธ์ เพื่อดูผลลัพธ์การค้นหาและแทนที่ ดูภาพหน้าจอ:

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

เคล็ดลับ: คุณลักษณะนี้ยังสามารถช่วยให้ดำเนินการดังต่อไปนี้ได้สำเร็จ:
  • ค้นหาและแทนที่อักขระพิเศษในเอกสาร Word หลายฉบับ
  • ค้นหาและแทนที่สตริงหลายรายการด้วยการจัดรูปแบบเฉพาะในเอกสาร Word หลายฉบับ
  • ค้นหาและแทนที่หลายสตริงในไฟล์ txt/htm/html หลายไฟล์

คลิกเพื่อทราบข้อมูลรายละเอียดเพิ่มเติมของคุณสมบัตินี้...


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office/Excel 2007-2021 และ 365 รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติเต็มรูปแบบ ทดลองใช้ฟรี 30 วัน รับประกันคืนเงินภายใน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (4)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทักทาย
รหัสแรก:
รหัส VBA: ค้นหาและแทนที่หลายข้อความในไฟล์ Word ไฟล์เดียว

ข้อผิดพลาด Thows: ข้อผิดพลาดในการคอมไพล์ไม่ได้กำหนดประเภทที่ผู้ใช้กำหนด
https://i.imgur.com/FZPBy4I.png
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีเอริค
รหัสทำงานได้ดี
บางทีคุณไม่ได้ตรวจสอบ ไลบรารีวัตถุ Microsoft Word 16.0 จาก เอกสารอ้างอิง - VBAProject กล่องโต้ตอบ
หมายความว่าคุณอาจพลาดขั้นตอนที่ 3 และขั้นตอนที่ 4 ของบทความนี้
โปรดลองอีกครั้ง หากคุณยังพบปัญหาอื่นๆ โปรดแสดงความคิดเห็นที่นี่

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มันใช้ไม่ได้

ข้อผิดพลาดในการคอมไพล์: ไม่ได้กำหนดประเภทที่ผู้ใช้กำหนด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีค่ะ คุณ Param
รหัสทำงานได้ดี
บางทีคุณไม่ได้ตรวจสอบ ไลบรารีวัตถุ Microsoft Word 16.0 จาก เอกสารอ้างอิง - VBAProject กล่องโต้ตอบ
หมายความว่าคุณอาจพลาดขั้นตอนที่ 3 และขั้นตอนที่ 4 ของบทความนี้
โปรดลองอีกครั้ง หากคุณยังพบปัญหาอื่นๆ โปรดแสดงความคิดเห็นที่นี่
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL