บั๊กใน Microsoft Word พร้อมค้นหาและแทนที่เมื่อค้นหาข้อความที่มีไฮเปอร์ลิงก์?


3

ฉันพยายามแทนที่ข้อความด้วยที่อยู่อีเมลตรงกลางในเอกสาร Word หากฉันใช้คำสั่งค้นหาเท่านั้นก็ใช้งานได้ดีและ Microsoft Word ค้นหาข้อความที่ฉันต้องการแทนที่

ป้อนคำอธิบายรูปภาพที่นี่

ปัญหาเกิดขึ้นเมื่อฉันพยายามเปลี่ยนใหม่จริง ๆ แล้ว Word ก็บอกฉันอย่างลึกลับว่าไม่พบข้อความ (ข้อความเดียวกันและเอกสารเดียวกัน) ดังนั้นน่าเสียดายที่ไม่มีการแทนที่

ป้อนคำอธิบายรูปภาพที่นี่

เป็นเพราะที่อยู่อีเมลนั้นถือว่าเป็นไฮเปอร์ลิงก์ หากฉันลบไฮเปอร์ลิงก์ออกไปมันใช้งานได้ดี แต่นี่ไม่ใช่วิธีแก้ปัญหาสำหรับฉันเพราะฉันกำลังพยายามสร้างโปรแกรมสำหรับการใช้งานของคนจำนวนมากและโดยค่าเริ่มต้นตัวเลือกในการสร้างที่อยู่อีเมลโดยอัตโนมัติ .

มีวิธีแก้ไขปัญหานี้หรือไม่? ฉันกำลังพิจารณาตัวเลือกอื่น ๆ แต่ถ้าทำได้ด้วยคำสั่งแทนที่ของ Word จะง่ายขึ้นสำหรับฉัน

สำหรับข้อมูล: ฉันทดสอบสิ่งนี้ใน Microsoft Office 2003 และ Microsoft Office 2013 มันใช้งานไม่ได้ดังนั้นจึงไม่ใช่ปัญหาที่เกี่ยวข้องกับรุ่น แต่เป็นเรื่องทั่วไปสำหรับ Microsoft Word ทุกรุ่น


คุณไม่ได้หางานทำหรือไม่? ทางเลือกเดียวที่ฉันจะคิดว่าเด็กคือการเขียน VBA สำหรับนี้ ...
เดฟ


มีวิธีใดที่จะทำการค้นหาเฉพาะของคุณและแทนที่งานโดยไม่ต้องค้นหาส่วนผสมของการเชื่อมโยงหลายมิติและข้อความธรรมดา? จากการทดสอบของฉันปัญหาไม่อยู่ถ้าคุณพยายามแทนที่การเชื่อมโยงหลายมิติด้วยตัวเอง
Excellll

ฉันคิดว่าความคิดเห็นของ @ sunk818 ร่วมกับregex ของ MS Wordให้คำตอบ
agtoever

1
พรอมต์ข้อผิดพลาดจะไม่ปรากฏขึ้น แต่ถ้าคุณทำการค้นหาและแทนที่ ... ข้อความภาพของการเปลี่ยนแปลงอีเมล แต่คุณสมบัติยังคงเป็นอีเมลเก่า วางเมาส์เหนือลิงก์หลังจากคุณค้นหาและแทนที่ได้สำเร็จและคุณยังควรเห็นอีเมลเก่า
อาทิตย์

คำตอบ:


2

คุณสามารถใช้ VBA ...

1) ลบไฮเปอร์ลิงก์ทั้งหมด (ทิ้งข้อความไว้)

Sub RemoveHyperlinks()
     With ThisDocument
         While .Hyperlinks.Count > 0
            .Hyperlinks(1).Delete
         Wend
     End With
End Sub

2) ทำการค้นหาและแทนที่ ...

3) สร้างไฮเปอร์ลิงก์ทั้งหมดใหม่ (หากผู้ใช้มีตัวเลือกไฮเปอร์ลิงก์อัตโนมัติใน Word เปิดใช้งาน):

Sub ReformatDocument()
     Selection.WholeStory
     Selection.Document.Kind = wdDocumentNotSpecified
     Selection.Range.AutoFormat
End Sub

นอกจากนี้หากคุณต้องการเปิดใช้งานหรือปิดใช้งานตัวเลือกการแก้ไขอัตโนมัติจริงสำหรับไฮเปอร์ลิงก์อัตโนมัติคุณสามารถใช้ "Application.Options.AutoFormatAsYouTypeReplaceHyperlinks"

เช่น: Application.Options.AutoFormatAsYouTypeReplaceHyperlinks = False


3
แม้ว่าจะมีประโยชน์ฉันคิดว่านี่เป็นรหัสอันตราย (ขออภัย แต่ -1) เพราะฉันอาศัยข้อสันนิษฐานว่าการเชื่อมโยงหลายมิติทั้งหมดเป็นการเชื่อมโยงการเชื่อมโยงหลายมิติอัตโนมัติ การแก้ไขหรือเพิ่มการเชื่อมโยงหลายมิติด้วยตนเองจะหายไป นี้จะเกิดขึ้นในบางครั้งเพราะ Word ที่ช่วยให้ "เชื่อมโยงหลายมิติ" ไปยังไฟล์อื่นหรือส่วนในเอกสารเช่นเดียวกับ www เชื่อมโยงหลายมิติ วิธีแก้ปัญหาอาจเป็นการแทนที่ไฮเปอร์ลิงก์ที่มีอยู่ด้วยโค้ดบางส่วนและค้นหา / แทนที่หรือแยกข้อความใหม่ แต่จะต้องใช้ VBA (ซับซ้อน) อีกเล็กน้อย
agtoever

ขอบคุณสำหรับคำตอบของคุณมันมีประโยชน์ ในขณะนี้จนกว่าฉันจะพบวิธีแก้ไขปัญหาอื่นฉันกำลังลบไฮเปอร์ลิงก์ทั้งหมดในเอกสารเพื่อขออนุญาตแก่ผู้ใช้หากเขาต้องการใช้โปรแกรมของฉัน บุญน่าเสียดายที่ @agtoever บอกว่าฉันไม่รู้ว่าที่อยู่อีเมลที่มีลิงก์อยู่หรือไม่ (แม้เปิดใช้งานตัวเลือกจัดรูปแบบอัตโนมัติ) เพราะคุณสามารถลบไฮเปอร์ลิงก์ได้ด้วยตนเอง ฉันไม่ได้ทำการแยกวิเคราะห์อีกครั้ง แต่ฉันทิ้งความคิดนั้นเพราะเอกสารขนาดใหญ่ช้าและรหัสของฉันทำงานในเวลา ...
Oscar Hermosilla

3
@ ไม่ว่าคุณจะถูกต้องมันเป็นวิธีการค้อนขนาดใหญ่ที่ไม่ได้ตั้งใจที่จะเป็นวิธีการแก้ปัญหาที่สมบูรณ์สำหรับ OP และคนอื่น ๆ ที่อาจอ่านมัน ;) "วิธีแก้ปัญหาอาจแทนที่ไฮเปอร์ลิงก์ที่มีอยู่ด้วยโค้ดบางส่วนและค้นหา / แทนที่หรือแยกข้อความใหม่ แต่จะต้องใช้ VBA อีกเล็กน้อย (ซับซ้อน)" โปรดส่งคำตอบเพื่อช่วย OP
Ƭᴇcʜιᴇ007
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.