ฉันโพสต์สิ่งนี้เป็นคำตอบแม้ว่ามันจะเป็นข้อคิดเห็นอย่างเคร่งครัดเกี่ยวกับ MS Word 2010 ส่วนหนึ่งของคำถามของคุณ ยาวเกินไปที่จะแสดงความคิดเห็น ฉันเพิ่งเพิ่มบันทึกย่อในแนวทางอื่น (ในตอนท้ายของโพสต์)
ฉันจะทดลองใช้การใช้ VBA เพื่อสร้าง / แก้ไขทางลัดของคุณโดยใช้ชุดย่อยของอักขระที่เป็นไปได้ที่จะเริ่มต้นด้วย (เช่นบางทีตัวอักษรกรีกและการออกเสียงกำกับที่เกี่ยวข้อง)
สิ่งที่คุณจะตั้งเป้าหมาย (โดยใช้สัญลักษณ์ของคุณ) จะต้องมีข้อความแก้ไขอัตโนมัติที่เดียว \ ~ \ '\ omega \ iotaUD แทรกอักขระ U + 1FA7 เดียวและอื่น ๆ
VBA ขั้นพื้นฐานตรงไปตรงมา -
Autocorrect.Entries.Add Name:="\~\'\omega\iotaUD", Value:=&H1FA7
(คุณจะต้องเพิ่มอีกนิดเพื่อจัดการกับกรณีที่คุณต้องการแทนที่คำจำกัดความ) ฉันคิดว่าฉันจะเลือกที่จะใส่ตัวละครก่อนและกำกับการแสดงหลังจากนั้นเช่น \ omega \ ~ \ '\ iotaUD แต่มันขึ้นอยู่กับคุณแล้วที่จะกำหนดชุดของการประชุมที่คุณสามารถทำงานได้
การใช้ VBA ลูปและข้อมูลบางอย่างจากตาราง Unicode มันจะค่อนข้างง่ายในการสร้างการแก้ไขอัตโนมัติสำหรับชุดค่าผสมที่เป็นไปได้เช่น
"greek letter (both cases)"
"greek letter (both cases)" + \~
"greek letter (both cases)" + \'
"greek letter (both cases)" + \iotaUD
"greek letter (both cases)" + \~ + \'
"greek letter (both cases)" + \~ + \iotaUD
"greek letter (both cases)" + \' + \iotaUD
"greek letter (both cases)" + \~ + \' + \iotaUD
หรือคุณอาจจะแคบลงเพื่อให้ครอบคลุมเฉพาะตัวอักษรที่ใช้สำเนียงเหล่านี้
แต่นี่จะทำให้เกิดคำถาม / คะแนนจำนวนมากทันทีรวมถึง
- มีการ จำกัด จำนวนการแก้ไขอัตโนมัติที่ Word อนุญาตให้กำหนดได้หรือไม่
- มีการ จำกัด จำนวนการแก้ไขอัตโนมัติที่ Word อนุญาตให้คุณกำหนดได้จริงหรือไม่? (เช่นบางทีทุกอย่างช้าลงเมื่อคุณมี 1,000 หรือ 10,000)
- จำนวนชุดค่าผสมอักขระ + การออกเสียงอาจมีขนาดใหญ่มาก คุณต้องการอะไรจริงๆ
และอาจเป็นวิธีหนึ่งในการตรึงปัญหาลงและลดจำนวน:
- คุณต้องการแก้ไขอัตโนมัติสำหรับตัวละครเหล่านั้นที่มีคอมโพสิตอยู่ในตาราง Unicode (ปัญหาเล็กลง) หรือ
- คุณต้องการให้การแก้ไขอัตโนมัติแทรกคอมโพสิตที่มีอยู่และชุดของอักขระที่ย่อยสลายที่เกี่ยวข้องที่ไม่มี (ปัญหาที่อาจเกิดขึ้นมากมาย)
อย่าคิดจากข้างต้นว่าการสร้าง VBA ที่เหมาะสมจะเป็นเรื่องง่าย ใครก็ตามที่เขียนรหัสดังกล่าวจะต้องตัดสินใจว่าชุดค่าผสมใดสามารถตั้งค่าโดยใช้รูปแบบที่มีอยู่ในตาราง Unicode และจะต้องดำเนินการโดยใช้การแจงนับ "brute force" นั่นคือเหตุผลที่ฉันจะเริ่มต้นด้วยการพยายามกำหนดเซตย่อยของปัญหา
อีกวิธีหนึ่งก็คือการกำหนดสตริง "แก้ไขอัตโนมัติ" ของคุณ แต่ไม่ใช่วิธีแก้ไขอัตโนมัติ แนวคิดนี้คือการพิมพ์การแก้ไขอัตโนมัติจากนั้นกดแป้นที่จะเรียกใช้แมโครที่จะแยกข้อความที่คุณป้อนและทำงานออกอักขระที่คุณต้องการใช้ ด้วยความระมัดระวังคุณจะสามารถป้อนสตริงที่สอดคล้องกับอักขระหลายตัวเพื่อให้คุณกดปุ่มพิเศษเพียงครั้งเดียวแทนที่จะใช้ตัวอักษร "สมบูรณ์" แต่ละตัว คุณจะต้องพิจารณาประเด็น / คำถามที่ฉันได้กล่าวไว้ข้างต้น