ผู้ใช้หลายคนรายงานว่าMicrosoft Excel กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการ OLE ให้เสร็จสิ้น” ข้อผิดพลาดใน Windows 10 เมื่อใช้แอป Office ตัวอย่างเช่น คุณอาจพบข้อผิดพลาดนี้ขณะที่คุณพยายามเปิด Excel โดยใช้ Launchpad BI หรือเมื่อคุณพยายามเรียกใช้สคริปต์ VBA
เทคโนโลยี OLE (Object Linking and Embedding) ได้รับการแนะนำโดย Microsoft เพื่อช่วยให้แอป Office สามารถสื่อสารกับโปรแกรมอื่นๆ โดยใช้เทคโนโลยีนี้ โปรแกรมแก้ไขหนึ่งโปรแกรมเพื่อแชร์ส่วนของเอกสารกับโปรแกรมอื่น แล้วนำเข้าส่วนของเอกสารหรือนำกลับมาพร้อมกับเนื้อหาของโปรแกรมอื่น
ตัวอย่างเช่น หากคุณกำลังใช้งาน Excel และพยายามโต้ตอบกับ Word โปรแกรมจะส่งข้อความไปยังวัตถุ OLE และจะรอจนกว่าจะได้รับการตอบกลับจาก Word แต่เมื่อการตอบกลับล่าช้าเกินเวลาที่กำหนด คุณจะเห็น “Microsoft Excel กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการ OLE ให้เสร็จสิ้น” ผิดพลาด
ข้อผิดพลาดอาจเกิดขึ้นได้เนื่องจากโปรโตคอล DDE ซึ่งปิดอยู่ใน Excel เมื่อการติดตั้งชุดโปรแกรม Office เสียหาย ถ้า คุณมี Adobe Acrobat PDFMaker เป็น Add-in และกำลังรบกวนการทำงานของ Excel หรือหาก Internet Explorer ขัดแย้งกับ เอ็กเซล ขณะปิด Excel โดยสมบูรณ์ การรีสตาร์ทคอมพิวเตอร์และเริ่มต้นใหม่ทั้งหมดอีกครั้งสามารถช่วยได้ คุณยังสามารถลองใช้วิธีการด้านล่างในกรณีที่ไม่สามารถทำได้
วิธีที่ 1: โดยการลบ Adobe Acrobat PDFMaker
Adobe acrobat PDFMaker เป็นที่ทราบกันดีว่ามีปัญหาความไม่เข้ากันกับ MS Excel ดังนั้น. ขอแนะนำให้ปิดการใช้งานโปรแกรมเสริม มาดูกันว่าเป็นอย่างไร
ขั้นตอนที่ 1: เปิด Excel และนำทางไปยัง ไฟล์ ที่ด้านซ้ายบนสุดของแผ่นงาน
ขั้นตอนที่ 2: จาก ไฟล์ เมนู เลือก ตัวเลือก.
ขั้นตอนที่ 3: ใน ตัวเลือก Excel กล่องโต้ตอบ คลิกที่ ส่วนเสริม ที่ด้านซ้ายของบานหน้าต่าง
ไปที่ด้านขวาของหน้าต่างและค้นหา find จัดการ ตัวเลือกไปทางด้านล่าง เลือก COM Add-in จากดรอปดาวน์ข้างๆ แล้วกด ไป ปุ่ม.
ขั้นตอนที่ 4: ตอนนี้ใน COM Add-Ins กล่อง ที่ปรากฏขึ้นให้ยกเลิกการเลือก Acrobat PDFMaker Office COM Addin แล้วกด ตกลง เพื่อบันทึกการเปลี่ยนแปลงและออก
ตอนนี้ เพียงรีบูทพีซีของคุณและลองเปิด Excel อีกครั้งหรือเรียกใช้สคริปต์ VBA เพื่อตรวจสอบว่าข้อผิดพลาดหายไปหรือไม่ หากปัญหายังคงอยู่ ให้ลองวิธีที่ 2
วิธีที่ 2: โดยการอนุญาตแอปพลิเคชันอื่นที่ใช้ DDE
ขั้นตอนที่ 1: เปิด Excel และไปที่ ไฟล์ แท็บที่ด้านซ้ายบนของหน้าจอ
ขั้นตอนที่ 2: เลือก ตัวเลือก จาก ไฟล์ เมนู.
ขั้นตอนที่ 3: ใน ตัวเลือก Excel หน้าต่างไปทางด้านซ้ายแล้วคลิก and ขั้นสูง. ตอนนี้ ทางด้านขวา ให้เลื่อนลงและค้นหา find ทั่วไป มาตรา.
ที่นี่ยกเลิกการเลือกช่องถัดจาก ละเว้นแอปพลิเคชันอื่นที่ใช้ Dynamic Data Exchange (DDE).
กด ตกลง เพื่อบันทึกการเปลี่ยนแปลงและออก
ตอนนี้ ให้ย้อนกลับไปและลองดำเนินการแบบเดียวกับที่คุณเคยทำก่อนหน้านี้ และดูว่าข้อผิดพลาดยังคงมีอยู่หรือไม่ หากคุณยังคงเห็นข้อผิดพลาด ให้ลองใช้วิธีที่ 3
วิธีที่ 3: โดยการสิ้นสุดกระบวนการ Internet Explorer
ขั้นตอนที่ 1: นำทางไปยัง แถบงาน และคลิกขวาที่มัน เลือก ผู้จัดการงาน จากเมนูบริบท
ขั้นตอนที่ 2: ใน ผู้จัดการงาน หน้าต่าง ใต้ กระบวนการ แท็บ ค้นหาและเลือก กระบวนการของ Internet Explorer. แล้วกด งานสิ้นสุด ปุ่มที่ด้านล่างซ้ายของหน้าต่าง
กลับไปที่ Excel และดูว่าข้อผิดพลาดหายไปหรือไม่ หากคุณยังคงพบข้อผิดพลาด ให้ลองใช้วิธีที่ 4
วิธีที่ 4: โดยการจำกัดการส่งข้อความแอปพลิเคชัน Excel
ลองใช้วิธีนี้หากคุณพบ “Microsoft Excel กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการ OLE ให้เสร็จสิ้น” ขณะเรียกใช้สคริปต์ VBA อย่างไรก็ตาม นี่เป็นเพียงวิธีแก้ปัญหาและไม่สามารถแก้ปัญหาได้เอง แต่คุณสามารถดำเนินการได้โดยการเรียกใช้สคริปต์ VBA ชั่วขณะหนึ่งและโดยการบล็อกข้อความแสดงข้อผิดพลาด ต่อไปนี้เป็นวิธีดำเนินการ
ขั้นตอนที่ 1: เปิดแผ่นงาน Excel แล้วกด ปุ่ม Alt + F11 ร่วมกันบนแป้นพิมพ์ของคุณเพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างตัวแก้ไข
ขั้นตอนที่ 2: ใน โครงการ – โครงการ VBA แถบด้านซ้าย ค้นหา สมุดงานนี้ ภายใต้ วัตถุ Microsoft Excel.
คลิกขวาที่มัน ไปที่ แทรก ในเมนูคลิกขวาและจากเมนูย่อย ให้เลือก โมดูล.
ขั้นตอนที่ 3: มันสร้างใหม่ โมดูล ที่ด้านขวาของบานหน้าต่าง คัดลอกโค้ดด้านล่างแล้ววางลงในโมดูล:
ฟังก์ชั่นการประกาศส่วนตัว CoRegisterMessageFilter Lib "ole32" (ByVal IFilterIn As Long, ByRef PreviousFilter) ตราบใดที่ Public Sub KillMessageFilter () Dim IMsgFilter ตราบใดที่ CoRegisterMessageFilter 0&, IMsgFilter End Sub Sub ย่อยสาธารณะ RestoreMessageFilter() หรี่ IMsgFilter ตราบใดที่ CoRegisterMessageFilter IMsgFilter, IMsgFilter สิ้นสุด ซับ
ขั้นตอนที่ 4: อีกวิธีหนึ่ง คุณสามารถคัดลอกโค้ดด้านล่าง คัดลอกโค้ดด้านล่างแล้ววางลงในโมดูลใหม่ รหัสใดรหัสหนึ่งจะทำงาน
ย่อย CreateXYZ() Dim wdApp เป็น Object Dim wd As Object On Error Resume Next Set wdApp = GetObject(, "Word. การสมัคร") หากผิดพลาด ตัวเลข <> 0 จากนั้นตั้งค่า wdApp = CreateObject("Word. แอปพลิเคชัน") End If On Error GoTo 0 Set wd = wdApp. เอกสาร เปิด (ThisWorkbook. เส้นทางและการสมัคร PathSeparator & "XYZ template.docm") wdApp มองเห็นได้ = True Range("A1:B10") คัดลอกรูปภาพ xlScreen wd. พิสัย. วางส่วนท้าย
ขั้นตอนที่ 5: ตอนนี้ไปที่ ไฟล์ ที่มุมซ้ายบนของตัวแก้ไขแล้วเลือก บันทึกเล่ม1.
ขั้นตอนที่ 6: หลังจากคุณกด บันทึก ปุ่ม คุณจะเห็นข้อความแจ้งว่า ไม่สามารถบันทึกคุณสมบัติต่อไปนี้ในสมุดงานที่ไม่มีมาโครได้.
กด ไม่ ปุ่ม.
ขั้นตอนที่ 7: ตอนนี้เลือกตำแหน่งที่คุณต้องการบันทึกเวิร์กบุ๊กนี้สร้างที่เหมาะสม ชื่อไฟล์และตั้งค่า บันทึกเป็นประเภท ฟิลด์ as สมุดงาน Excel Macro-Enabled.
คลิก บันทึก ปุ่มเพื่อบันทึกเวิร์กบุ๊ก VBA ใหม่
ขั้นตอนที่ 8: เมื่อคุณบันทึกไฟล์ VBA แล้ว ให้ปิดตัวแก้ไขแล้วกลับไปที่ go Excel สมุดงาน ที่นี่ กด Alt + F8 คีย์ร่วมกันบนแป้นพิมพ์ของคุณ จาก มาโคร กล่องโต้ตอบ เลือก มาโคร ที่คุณเพิ่งสร้างและกด วิ่ง ปุ่ม.
เมื่อคุณดำเนินการเสร็จเรียบร้อยแล้ว คุณจะไม่เห็นข้อผิดพลาดอีก แต่ถ้าคุณยังคงพบข้อผิดพลาดปรากฏขึ้น ให้ลองใช้วิธีที่ 5
วิธีที่ 5: ปิดโหมดความเข้ากันได้ของ Excel
ขั้นตอนที่ 1: ไปที่ MS Excel บนเดสก์ท็อปของคุณ ให้คลิกขวาที่มันแล้วเลือก คุณสมบัติ จากเมนูคลิกขวา
ขั้นตอนที่ 2: ใน คุณสมบัติ Microsoft Excel กล่องโต้ตอบ ไปที่ ความเข้ากันได้ แท็บ ตอนนี้ไปที่ โหมดความเข้ากันได้ ส่วนและยกเลิกการทำเครื่องหมายที่ช่องถัดจาก เรียกใช้โปรแกรมนี้ในโหมดความเข้ากันได้สำหรับ.
กด สมัคร แล้วก็ ตกลง เพื่อบันทึกการเปลี่ยนแปลงและออก
นั่นคือทั้งหมด คุณสามารถลองทำซ้ำการดำเนินการก่อนหน้าใน Excel ของคุณและคุณจะไม่เห็น "Microsoft Excel กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการ OLE ให้เสร็จสิ้น” ในพีซี Windows ของคุณขณะเรียกใช้สคริปต์ VBA หรือเปิด Excel