ผู้ใช้ Office หลายคนรายงานว่าได้รับ “Microsoft กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการ OLE ให้เสร็จสิ้น” เกิดข้อผิดพลาดเมื่อพยายามเรียกใช้สคริปต์ VBA หรือเมื่อพยายามเรียกใช้ Excel จากแผ่นเปิดใช้ BI มีรายงานว่าปัญหานี้เกิดขึ้นใน Windows เวอร์ชันล่าสุดทั้งหมด รวมถึง Windows 7, Windows 8.1 และ Windows 10)
การดำเนินการ OLE คืออะไร
การดำเนินการ Object Linking &Embedding (OLE) เป็นกลไกหลักที่ออกแบบมาเพื่อช่วยให้แอปพลิเคชัน Office ต่างๆ (Word, Excel, Powerpoint, Sharepoint) สื่อสารกับแอปพลิเคชันอื่นๆ เพื่อให้การดำเนินการเสร็จสมบูรณ์
อะไรเป็นสาเหตุของข้อผิดพลาด 'Microsoft Excel กำลังรอให้แอปพลิเคชันอื่นดำเนินการ OLE ให้เสร็จสิ้น'
เราตรวจสอบปัญหานี้โดยดูจากรายงานผู้ใช้ต่างๆ และดูเอกสารทางการของ Microsoft เรายังจัดการจำลองปัญหาในเครื่องทดสอบเครื่องใดเครื่องหนึ่งของเราได้อีกด้วย
ถ้า Excel ส่งคำขอการสื่อสารไปยังแอปพลิเคชันอื่น (สมมติว่า Word) จะทำโดยใช้วัตถุ OLE แล้วรอการตอบกลับจากแอปพลิเคชัน ถ้าการตอบสนองไม่ถึงเกณฑ์เวลาเริ่มต้น Excel จะทริกเกอร์คำเตือนต่อไปนี้ให้กับผู้ใช้: 'Microsoft Excel กำลังรอให้แอปพลิเคชันอื่นดำเนินการ OLE ให้เสร็จสิ้น'
แม้ว่าข้อความแสดงข้อผิดพลาดจะเหมือนกันเสมอ แต่ก็มีบางสถานการณ์ทั่วไปที่อาจก่อให้เกิดข้อผิดพลาดนี้ใน Microsoft Excel:
- โปรโตคอล DDE ถูกปิดใช้งานจาก Excel – ปัญหานี้อาจเกิดขึ้นเนื่องจาก Dynamic Data Exchange (DDE) โปรโตคอลถูกปิดใช้งานจากการตั้งค่าของ Excel
- การติดตั้ง Office ที่เสียหาย – ผู้ใช้ที่ได้รับผลกระทบบางรายรายงานว่าปัญหาได้รับการแก้ไขแล้วหลังจากติดตั้งใหม่หรือซ่อมแซมการติดตั้ง Office ทั้งหมด
- โปรแกรมเสริม Adobe Acrobat PDFMaker ขัดแย้งกับ Excel – มีรายงานผู้ใช้หลายฉบับที่สามารถแก้ไขปัญหาได้โดยการปิดใช้งานหรือถอนการติดตั้งปลั๊กอิน PDFMaker
- กระบวนการ IE (Internet Explorer) กำลังรบกวน DDE – โดยทั่วไปจะมีรายงานว่าเกิดขึ้นเมื่อผู้ใช้พยายามบันทึกไฟล์ใน Microsoft Excel ในกรณีนี้ วิธีแก้ไขคือปิดกระบวนการด้วยตนเอง
หากคุณกำลังดิ้นรนเพื่อแก้ไขข้อความแสดงข้อผิดพลาดนี้ บทความนี้จะให้ขั้นตอนการแก้ไขปัญหาต่างๆ แก่คุณ ด้านล่างนี้ คุณมีวิธีการที่ผู้ใช้รายอื่นในสถานการณ์ที่คล้ายกันใช้เพื่อแก้ไขปัญหาได้สำเร็จ
เพื่อผลลัพธ์ที่ดีที่สุด ให้ทำตามวิธีการด้านล่างตามลำดับจนกว่าคุณจะพบกับวิธีแก้ไขที่มีประสิทธิภาพในการแก้ไขปัญหา เริ่มกันเลย
วิธีที่ 1:การถอนการติดตั้ง Adobe Acrobat PDFMaker (ถ้ามี)
ผู้ใช้บางรายสามารถแก้ไขข้อความแสดงข้อผิดพลาดได้โดยถอนการติดตั้ง Add-in ของ Adobe Acrobat PDF Maker ปรากฏว่าปลั๊กอินนี้มีศักยภาพที่จะขัดแย้งกับ Microsoft Excel บางเวอร์ชัน
นี่คือรายการที่มีเวอร์ชัน Office ที่เข้ากันได้กับ PDF Maker:
- Office 2010 (Office 14) 32 บิตและ 64 บิต
- Office 2013 (Office 15) 32 บิตและ 64 บิต
- Office 2016 (Office 16) 32 บิตและ 64 บิต
หมายเหตุ: คุณสามารถอ่านคู่มือความเข้ากันได้ของ Adobe ฉบับเต็ม (ที่นี่ )
หากสถานการณ์นี้ใช้ได้ และคุณไม่ได้พึ่งพา PDF Maker มากนัก คุณน่าจะแก้ปัญหาได้โดยการปิดใช้งานหรือถอนการติดตั้ง Add-in ของ Adobe Acrobat PDFMaker
คำแนะนำโดยย่อเกี่ยวกับวิธีการทำเช่นนี้:
อัปเดต: คุณยังสามารถใช้ Fix-it (ที่นี่) เพื่อปิดใช้งาน Add-in ของ PDFMaker โดยอัตโนมัติได้ เข้ากันได้กับ Windows ทุกเวอร์ชันล่าสุด รวมถึง Windows 10, Windows 8.1, Windows 7 และ Windows Vista
- เปิด Microsoft Excel แล้วคลิก ไฟล์ โดยใช้แถบริบบิ้น
- จากเมนูไฟล์ ให้คลิกที่ ตัวเลือก (ที่ด้านล่างของรายการเมนู)
- ในเมนูตัวเลือกของ Excel ให้คลิกที่ ส่วนเสริม โดยใช้เมนูด้านซ้ายมือ ถัดไป เลื่อนไปที่บานหน้าต่างด้านขวา ขยายเมนูแบบเลื่อนลงที่เกี่ยวข้องกับจัดการ แล้วเลือก COM Add-in . จากนั้นคลิกปุ่ม ไป… เพื่อเปิด Com Add-in เมนู.
- ในกล่อง COM Add-in ให้ยกเลิกการเลือกช่องที่เชื่อมโยงกับ Acrobat PDFMaker Office COM Addin หรือเลือกและคลิกลบเพื่อลบออกอย่างสมบูรณ์
- รีสตาร์ทคอมพิวเตอร์และสร้างขั้นตอนที่สร้างข้อผิดพลาดไว้ก่อนหน้านี้เมื่อการเริ่มต้นระบบครั้งถัดไปเสร็จสมบูรณ์
หากคุณยังคงพบกับ "Microsoft Excel กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการ OLE ให้เสร็จสิ้น" ผิดพลาด เลื่อนลงไปที่วิธีถัดไปด้านล่าง
วิธีที่ 2:การอนุญาตแอปพลิเคชันที่ใช้ DDE ในการตั้งค่าของ Excel
ตามที่ผู้ใช้จำนวนมากรายงาน ปัญหาอาจเกิดขึ้นหาก Microsoft Excel ถูกตั้งค่าให้ละเว้นแอปพลิเคชันใดๆ ที่พยายามสื่อสารกับ Excel โดยใช้ Dynamic Data Exchange (DDE) โปรโตคอล
ตัวอย่างเช่น สมมติว่าคุณดับเบิลคลิกที่เวิร์กบุ๊ก Excel ใน Windows Explorer ทันทีที่คำสั่งลงทะเบียน การแลกเปลี่ยนข้อมูลแบบไดนามิก (DDE) จะถูกส่งไปยัง Excel การแลกเปลี่ยนนั้นจะสั่งให้ Excel เปิดเวิร์กบุ๊กที่คุณเพิ่งดับเบิลคลิก
ถ้า Excel ถูกตั้งค่าให้ละเว้นแอปพลิเคชันที่ใช้การแลกเปลี่ยนข้อมูลแบบไดนามิก โปรโตคอล การแลกเปลี่ยนจะไม่เกิดขึ้น และคุณจะเห็น "Microsoft Excel กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการ OLE ให้เสร็จสิ้น" ข้อความแสดงข้อผิดพลาดแทน
โชคดีที่คุณแก้ไขปัญหานี้ได้ง่ายๆ โดยเข้าไปที่ตัวเลือก เมนูของ Excel และเปิดใช้งานโปรโตคอล DDE คำแนะนำโดยย่อเกี่ยวกับวิธีการทำเช่นนี้:
- เปิด Microsoft Excel แล้วคลิก ไฟล์ . ไม่สำคัญว่าคุณจะเปิดเวิร์กบุ๊กใหม่หรือเอกสารใหม่
- ใน ไฟล์ เมนู คลิกที่ ตัวเลือก จากบานหน้าต่างด้านซ้าย
- ใน ตัวเลือก Excel เมนู คลิกที่ ขั้นสูง แท็บจากเมนูด้านซ้ายมือ จากนั้นเลื่อนไปที่บานหน้าต่างด้านขวาแล้วเลื่อนลงมาจนเจอ ทั่วไป ส่วน. เมื่อคุณไปถึงที่นั่นแล้ว ตรวจสอบให้แน่ใจว่าช่องที่เชื่อมโยงกับ ละเว้นแอปพลิเคชันอื่นๆ ที่ใช้ Dynamic Data Exchange (DDE) ไม่ถูกตรวจสอบ
- คลิก ตกลง เพื่อบันทึกการเปลี่ยนแปลง จากนั้นรีสตาร์ท Microsoft Excel จากนั้น ทำซ้ำการดำเนินการที่ทำให้เกิด “Microsoft กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการ OLE ให้เสร็จสิ้น” error และดูว่าปัญหายังคงเกิดขึ้นหรือไม่
หากคุณยังคงพบข้อความแสดงข้อผิดพลาดเดิม ให้ไปยังวิธีถัดไปด้านล่าง
วิธีที่ 3:ฆ่ากระบวนการ Internet Explorer (IE)
ผู้ใช้หลายคนเห็น “Microsoft กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการ OLE ให้เสร็จสิ้น” เกิดข้อผิดพลาดขณะพยายามบันทึกไฟล์ คุณอาจเห็นข้อผิดพลาดเนื่องจากกระบวนการ IE กำลังรบกวน Dynamic Data Exchange (DDE) แลกเปลี่ยน
ผู้ใช้ในสถานการณ์ที่คล้ายคลึงกันรายงานว่าปัญหาได้รับการแก้ไขหลังจากที่พวกเขาฆ่ากระบวนการ IE ด้วยตนเอง คำแนะนำโดยย่อเกี่ยวกับวิธีการทำเช่นนี้:
- กด Ctrl + Shift + Esc เพื่อเปิด ตัวจัดการงาน .
- ภายในตัวจัดการงาน ไปที่กระบวนการ และดูว่าคุณมีกระบวนการใดๆ ที่เป็นของ Internet Explorer ที่ใช้งานอยู่หรือไม่
- หากคุณเห็นไฟล์เปิดอยู่ เพียงคลิกขวาที่ไฟล์นั้นแล้วเลือกสิ้นสุดงาน เพื่อปิดมัน
- กลับไปที่ Excel และดูว่า “Microsoft กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการกับ OLE ให้เสร็จสิ้น” ข้อผิดพลาดยังคงเกิดขึ้นเมื่อคุณพยายามบันทึกไฟล์
หากคุณยังคงพบข้อผิดพลาดเดิม ให้เลื่อนลงไปที่วิธีถัดไปด้านล่าง
วิธีที่ 4:การระงับการส่งข้อความแอปพลิเคชัน Excel
หากคุณเห็นข้อความแสดงข้อผิดพลาดเมื่อพยายามเรียกใช้สคริปต์ VBA วิธีแก้ปัญหาหนึ่งคือระงับการส่งข้อความของแอปพลิเคชันโดยใช้โค้ดเล็กๆ น้อยๆ
แต่พึงระลึกไว้เสมอว่าการดำเนินการนี้จะไม่จัดการกับปัญหาด้วยตนเอง – เป็นเพียงวิธีแก้ปัญหาที่ป้องกันไม่ให้ข้อความแสดงข้อผิดพลาดปรากฏขึ้น อย่างไรก็ตาม จะเป็นประโยชน์หากเป้าหมายเดียวของคุณคือป้องกันไม่ให้ข้อความแสดงข้อผิดพลาดปรากฏขึ้น
ต่อไปนี้คือคำแนะนำโดยย่อเกี่ยวกับการแทรกโค้ด VBA ลงในเวิร์กบุ๊ก excel ที่จะระงับการส่งข้อความของแอปพลิเคชัน excel:
- เปิดสมุดงานของคุณใน Excel แล้วกด Alt + F11 เพื่อเปิด Visual Basic Editor (VBE) .
- ใน โครงการ แถบ (ด้านซ้าย) คลิกขวาที่ ThisWorkbook และเลือก แทรก> โมดูล .
- ในโมดูลที่สร้างขึ้นใหม่ ให้วางโค้ดต่อไปนี้ (ในส่วนด้านขวาของหน้าจอ):
Private Declare Function CoRegisterMessageFilter Lib "ole32" (ByVal IFilterIn As Long, ByRef PreviousFilter) As Long Public Sub KillMessageFilter() Dim IMsgFilter As Long CoRegisterMessageFilter 0&, IMsgFilter End Sub Public Sub RestoreMessageFilter() Dim IMsgFilter As Long CoRegisterMessageFilter IMsgFilter, IMsgFilter End Sub
อัปเดต: ผู้ใช้รายอื่นรายงานว่าพวกเขาจัดการเพื่อป้องกันไม่ให้พรอมต์แสดงข้อผิดพลาดปรากฏขึ้นโดยใช้รหัส VBA ต่อไปนี้:
Sub CreateXYZ() Dim wdApp As Object Dim wd As Object On Error Resume Next Set wdApp = GetObject(, "Word.Application") If Err.Number <> 0 Then Set wdApp = CreateObject("Word.Application") End If On Error GoTo 0 Set wd = wdApp.Documents.Open(ThisWorkbook.Path & Application.PathSeparator & "XYZ template.docm") wdApp.Visible = True Range("A1:B10").CopyPicture xlScreen wd.Range.Paste End Sub
- กด Ctrl + S แล้วคลิก ไม่ เมื่อคุณเห็น “ไม่สามารถบันทึกคุณสมบัติต่อไปนี้ในสมุดงานที่ไม่มีมาโครได้” คำเตือน.
- จากนั้น เลือกตำแหน่งที่เหมาะสมสำหรับเวิร์กบุ๊กที่แก้ไข ตั้งชื่อที่ถูกต้อง และตรวจสอบให้แน่ใจว่าบันทึกเป็นประเภท ถูกตั้งค่าเป็น Excel Macro-Enabled สมุดงาน เมื่อทุกอย่างเรียบร้อย ให้คลิกที่ บันทึก เพื่อสร้าง สมุดงาน Excel Macro-Enabled .
- กด Alt + Q เพื่อปิดตัวแก้ไขและกลับไปที่เวิร์กบุ๊กของคุณ เมื่อคุณกลับมาอยู่ในโปรแกรมแก้ไขแล้ว ให้กด Alt + F8 เลือกมาโครที่คุณเพิ่งสร้างขึ้นแล้วคลิก เรียกใช้ .
เมื่อขั้นตอนนี้เสร็จสมบูรณ์ คุณจะไม่เห็น "Microsoft Excel กำลังรอแอปพลิเคชันอื่นเพื่อดำเนินการ OLE ให้เสร็จสิ้น" เกิดข้อผิดพลาดกับสมุดงานนี้ (แม้ว่าจะยังเกิดขึ้นในพื้นหลัง)
วิธีที่ 5:ปิดใช้งานโหมดความเข้ากันได้ (ถ้ามี)
ผู้ใช้บางรายสามารถแก้ไขปัญหาได้หลังจากพบว่าโปรแกรมปฏิบัติการ Excel กำลังทำงานใน โหมดความเข้ากันได้ . สิ่งนี้สามารถเกิดขึ้นได้เนื่องจากการแทรกแซงของผู้ใช้ด้วยตนเองหรือแอปพลิเคชันของบุคคลที่สาม
หากคุณสงสัยว่า Excel กำลังทำงานในโหมดความเข้ากันได้ ให้ปิดใช้งานและดูว่า "Microsoft Excel กำลังรอให้แอปพลิเคชันอื่นดำเนินการ OLE ให้เสร็จสิ้นหรือไม่" ข้อผิดพลาดหยุดปรากฏขึ้น โดยทั่วไป จะมีการรายงานข้อผิดพลาดว่าถ้าโปรแกรมปฏิบัติการ Excel ถูกกำหนดค่าให้ทำงานในโหมดความเข้ากันได้กับ Windows Vista และรุ่นเก่ากว่า
ต่อไปนี้คือคำแนะนำโดยย่อเกี่ยวกับการปิดใช้งานโหมดความเข้ากันได้:
- คลิกขวาที่ไฟล์สั่งการของ Excel (หรือทางลัด) แล้วเลือก คุณสมบัติ .
- ในคุณสมบัติ หน้าต่าง ไปที่ ความเข้ากันได้ แท็บและยกเลิกการทำเครื่องหมายที่ช่องที่เกี่ยวข้องกับ เรียกใช้โปรแกรมนี้ในโหมดความเข้ากันได้ .