Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาด Windows

แก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ

ผู้ใช้ Office หลายคนรายงานว่าพบข้อผิดพลาด "Microsoft is waiting for another application to complete an OLE action" เมื่อพยายามรันสคริปต์ VBA หรือเมื่อพยายามรัน Excel จาก BI launch pad ปัญหานี้รายงานว่ากลับมาเกิดขึ้นบน Windows เวอร์ชันล่าสุดทั้งหมด รวมถึง Windows 7, Windows 8.1 และ Windows 10

แก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ

OLE action คืออะไร?

Object Linking & Embedding (OLE) action เป็นกลไกที่ออกแบบมาเพื่อช่วยให้แอปพลิเคชัน Office ต่างๆ (Word, Excel, Powerpoint, Sharepoint) สื่อสารกับแอปพลิเคชันอื่นๆ เพื่อให้การดำเนินการเสร็จสมบูรณ์ได้สำเร็จ

อะไรคือสาเหตุของข้อผิดพลาด 'Microsoft Excel is waiting for another application to complete an OLE action'?

เราสำรวจปัญหานี้โดยเฉพาะโดยดูรายงานผู้ใช้ต่างๆ และดูเอกสาร Microsoft 官方 我們甚至設法複製ปัญหาบนเครื่องทดสอบของเราหนึ่งเครื่อง

如果 Excel 向另一個應用程式發出通信請求 (假設是 Word) 它使用 OLE object 來執行 然後等待來自應用程式的響應 如果響應沒有在預設時間閾值內到達 Excel 將觸發以下警告給終端用戶: 'Microsoft Excel is waiting for another application to complete an OLE action'

雖然錯誤訊息總是相同的 但實際上有幾個相當常見的場景會觸發 Microsoft Excel 中的這個特定錯誤:

  • DDE Protocol 被從 Excel 停用 — 此問題可能發生是因為 Dynamic Data Exchange (DDE) protocol 被從 Excel 的設置中禁用
  • Office 安裝損壞 — 一些受影響的用戶報告說問題在重新安裝或修復整個 Office 安裝後得到解決
  • Adobe Acrobat PDFMaker add-in กับ Excel มีความขัดแย้ง — 有多個用戶報告他們通過禁用或卸載 PDFMaker 插件解決了問題
  • IE (Internet Explorer) process 干擾 DDE — 這通常在用戶嘗試在 Microsoft Excel 中保存文件時發生 在這種情況下 解決方案是手動關閉該進程

如果您目前正在努力解決這個特定的錯誤訊息 本文將為您提供一系列疑難排解步驟 下面您有一系列其他用戶在類似情況下成功用來解決問題的方法

為了獲得最佳結果 請按照下面的方法順序進行 直到您遇到有效解決問題的修復 讓我們開始吧

方法 1: 卸載 Adobe Acrobat PDFMaker (如果適用)

一些用戶通過卸載 Adobe Acrobat PDF Maker add-in 解決了錯誤訊息 原來 這個外掛程式有可能與 Microsoft Excel 的某些版本衝突

這裡是一份與 PDF Maker 相容的 Office 版本列表:

  • Office 2010 (Office 14) 32 bit 和 64 bit
  • Office 2013 (Office 15) 32 bit 和 64 bit
  • Office 2016 (Office 16) 32 bit 和 64 bit

注意: 您可以查閱 Adobe 的完整相容性指南 (here)

如果此場景適用且您不太依賴 PDF Maker 您很可能可以通過禁用或卸載 Adobe Acrobat PDFMaker add-in 來解決問題

這裡是如何做的快速指南:

更新: 您也可以使用 this Fix-it (here) 來自動禁用 PDFMaker add-in 它與所有近期的 Windows 版本相容 包括 Windows 10, Windows 8.1, Windows 7 和 Windows Vista

  1. 開啟 Microsoft Excel 並使用 ribbon bar 點擊 Fileแก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  2. 從 File menu 點擊 Options (在選單列表底部)แก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  3. 在 Excel Options 選單中 使用左側選單點擊 Add-ins 接著 移至右側窗格 展開與 Manage 相關的下拉選單 並選擇 COM Add-ins 然後點擊 Go… 按鈕啟動 Com Add-ins 選單แก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  4. 在 COM Add-ins 方塊中 取消勾選與 Acrobat PDFMaker Office COM Addin 相關的方塊 或選擇它並點擊 Remove 以完全刪除它
  5. 重新啟動您的電腦 並在下次啟動完成後 重新執行先前產生錯誤的步驟

如果您仍然遇到 'Microsoft Excel is waiting for another application to complete an OLE action' 錯誤 請移至下面的下一個方法

方法 2: อนุญาตแอปพลิเคชันที่ใช้ DDE ในการตั้งค่า Excel

正如許多用戶所報告的 問題可能發生在 Microsoft Excel 設置為忽略任何嘗試使用 Dynamic Data Exchange (DDE) 協議與 Excel 通信的應用程式時

例如 假設您在 Windows Explorer 中雙擊 Excel 工作簿 — 當命令註冊時 一個動態數據交換 (DDE) 會被發送到 Excel 該交換將指示 Excel 打開您剛雙擊的工作簿

如果 Excel 設置為忽略使用 Dynamic Data Exchange 協議的應用程式 交換將不會發生 而您將看到 'Microsoft Excel is waiting for another application to complete an OLE action' 錯誤訊息

幸運的是 您可以通過訪問 Excel 的 Options 選單並啟用 DDE 協議來輕鬆修正此問題 這裡是如何做的快速指南:

  1. 開啟 Microsoft Excel 並點擊 File 不重要您是打開新工作簿還是新文檔แก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  2. 在 File 選單中 從左窗格點擊 Optionsแก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  3. 在 Excel Options 選單中 從左側選單點擊 Advanced 索引標籤 然後 移至右窗格 向下捲動直到到達 General 部分 一旦您到達那裡 請確保與 Ignore other applications that use Dynamic Data Exchange (DDE) 相關的方塊未被勾選แก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  4. 點擊 Ok 以儲存變更 然後重新啟動 Microsoft Excel 然後 重複先前導致 "Microsoft is waiting for another application to complete an OLE action" 錯誤的操作 並查看問題是否仍在發生

如果您仍然遇到相同的錯誤訊息 請移至下面的下一個方法

方法 3: ปิดกระบวนการ Internet Explorer (IE)

一些看到 "Microsoft is waiting for another application to complete an OLE action" 錯誤的用戶 在嘗試保存文件時 您可能會看到錯誤 因為 IE process 正在干擾 Dynamic Data Exchange (DDE) 交換

處於類似情況的用戶報告說問題在他們手動殺死 IE process 後得到解決 這裡是如何做的快速指南:

  1. 按 Ctrl + Shift + Esc 開啟 Task Manager
  2. 在 Task Manager 內 去 Processes 索引標籤 並查看您是否有任何屬於 Internet Explorer 的進程當前處於活動狀態
  3. 如果您看到一個打開的 只需右鍵點擊它 並選擇 End task 以關閉它แก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  4. 返回 Excel 並查看 "Microsoft is waiting for another application to complete an OLE action" 錯誤是否仍在發生當您嘗試保存文件

如果您仍然遇到相同的錯誤 請移至下面的下一個方法

方法 4: ปิดการแจ้งเตือนของ Excel Application

如果您在嘗試運行 VBA script 時看到錯誤訊息 一種替代方法將是通過使用一小段代碼來抑制應用程式消息

但請記住 這不會治療問題本身 — 這只是一種替代方法 可防止錯誤訊息出現 然而 如果您唯一的目標是防止錯誤訊息出現 這將會有幫助

這裡是將 VBA 代碼插入 Excel Workbook 以抑制 excel 應用程式消息的快速指南:

  1. 在 Excel 中打開您的工作簿 並按 Alt + F11 開啟 Visual Basic Editor (VBE)
  2. 在 Project 列 (左側) 右鍵點擊 ThisWorkbook 並選擇 Insert > Moduleแก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  3. 在新建立的模組中 貼上以下代碼 (在螢幕右側部分):
    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
  4. 按 Ctrl + S 並在看到 "The following features cannot be saved in macro-free workbook" 警告時點擊 Noแก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  5. 然後 選擇適合的位置為修改後的工作簿 設置合適的名稱 並確保 Save as type 設置為 Excel Macro-Enabled Workbook 一旦一切就緒 點擊 Save 以創建 Excel Macro-Enabled Workbookแก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  6. 按 Alt + Q 關閉編輯器並返回您的工作簿 一旦您回到編輯器 按 Alt + F8 選擇您剛創建的 Macro 並點擊 Run

一旦此程序完成 您應該不再看到 'Microsoft Excel is waiting for another application to complete an OLE action' 錯誤與此 WorkBook (即使它可能仍在背景中發生)

方法 5: 停用 Compatibility Mode (如果適用)

一些用戶在發現 Excel 可執行檔在 Compatibility mode 下運行後 設法解決了問題 這可能發生由於手動用戶干預或第三方應用程式

如果您懷疑 Excel 正在相容模式下運行 請禁用它 並查看 'Microsoft Excel is waiting for another application to complete an OLE action' 錯誤是否停止出現 通常 錯誤被報告發生在 Excel 可執行檔被配置為在與 Windows Vista 和更舊版本相容的模式下運行時

這裡是禁用 Compatibility Mode 的快速指南:

  1. 右鍵點擊 Excel 可執行檔 (或捷徑) 並選擇 Propertiesแก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ
  2. 在 Properties 視窗中 去 Compatibility 索引標籤 並取消勾選與 Run this program in compatibility mode 相關的方塊แก้ไข: Microsoft Excel รอแอปพลิเคชันอื่นทำ OLE Action ให้เสร็จ