Một số người dùng Office báo lỗi "Microsoft đang chờ ứng dụng khác hoàn thành hành động OLE" khi chạy script VBA hoặc chạy Excel từ BI launch pad. Vấn đề xảy ra trên các phiên bản Windows gần đây (Windows 7, 8.1, 10).

Hành động OLE là gì?
Hành động Object Linking & Embedding (OLE) về cơ chế giúp các ứng dụng Office (Word, Excel, Powerpoint, Sharepoint) giao tiếp với ứng dụng khác để hoàn thành tác vụ thành công.
Nguyên nhân gây lỗi 'Microsoft Excel đang chờ ứng dụng khác hoàn thành hành động OLE'
Chúng tôi điều tra qua báo cáo người dùng và tài liệu Microsoft chính thức. Chúng tôi thậm chí tái hiện lỗi trên máy kiểm thử.
Nếu Excel gửi yêu cầu giao tiếp đến ứng dụng khác (giả sử Word), nó dùng đối tượng OLE và chờ phản hồi. Nếu phản hồi không đến trong ngưỡng thời gian mặc định, Excel kích hoạt cảnh báo: 'Microsoft Excel đang chờ ứng dụng khác hoàn thành hành động OLE'
Mặc dù thông báo lỗi giống nhau, thực tế có vài tình huống phổ biến gây lỗi trong Excel:
- Giao thức DDE bị tắt trong Excel – Vấn đề có thể do giao thức Dynamic Data Exchange (DDE) bị tắt trong cài đặt Excel.
- Cài đặt Office bị hỏng – Một số người dùng khắc phục sau khi cài lại/sửa toàn bộ cài đặt Office.
- Tiện ích Adobe Acrobat PDFMaker xung đột với Excel – Nhiều báo cáo khắc phục bằng cách tắt/gỡ plugin PDFMaker.
- Tiến trình IE (Internet Explorer) can thiệp DDE – Thường xảy ra khi lưu tệp trong Excel. Giải pháp: đóng tiến trình thủ công.
Nếu bạn đang loay hoay, bài viết cung cấp các bước khắc phục. Dưới đây các phương pháp người dùng khác dùng thành công.
Để hiệu quả tốt, làm theo thứ tự phương pháp dưới cho đến khi tìm thấy cách khắc phục hiệu quả. Bắt đầu!
Phương pháp 1: Gỡ cài đặt Adobe Acrobat PDFMaker (nếu áp dụng)
Một số người dùng khắc phục bằng cách gỡ tiện ích Adobe Acrobat PDF Maker. Plugin này có khả năng xung đột với phiên bản Excel nhất định.
Danh sách phiên bản Office tương thích PDF Maker:
- Office 2010 (Office 14) 32 bit và 64 bit
- Office 2013 (Office 15) 32 bit và 64 bit
- Office 2016 (Office 16) 32 bit và 64 bit
Lưu ý: Tham khảo hướng dẫn tương thích đầy đủ của Adobe (đây).
Nếu tình huống áp dụng và bạn không phụ thuộc nhiều vào PDF Maker, khắc phục bằng cách tắt/gỡ tiện ích Adobe Acrobat PDFMaker.
Hướng dẫn:
Cập nhật: Cũng có thể dùng Fix-it này (đây) tự động tắt PDFMaker add-in. Tương thích mọi Windows gần đây (10, 8.1, 7, Vista).
- Mở Excel nhấp Tệp trên thanh Ribbon.

- Từ menu Tệp, nhấp Tùy chọn (cuối danh sách).

- Trong menu Tùy chọn Excel, nhấp Tiện ích mở rộng menu trái. Bên phải, mở rộng menu thả xuống Quản lý chọn COM Add-ins. Nhấp Đi... mở menu COM Add-ins.

- Trong hộp COM Add-ins, bỏ tích hộp Acrobat PDFMaker Office COM Addin hoặc chọn nó nhấp Remove xóa hoàn toàn.
- Khởi động lại máy và tái hiện thao tác trước gây lỗi khi khởi động tiếp theo.
Nếu vẫn gặp lỗi 'Microsoft Excel đang chờ ứng dụng khác hoàn thành hành động OLE', chuyển phương pháp tiếp theo.
Phương pháp 2: Cho phép ứng dụng dùng DDE trong cài đặt Excel
Nhiều người báo cáo lỗi xảy ra nếu Excel thiết lập bỏ qua ứng dụng giao tiếp qua giao thức Dynamic Data Exchange (DDE).
Ví dụ: bạn nhấp đúp sổ làm việc Excel trong Windows Explorer - ngay khi lệnh đăng ký, trao đổi dữ liệu động (DDE) gửi đến Excel. Trao đổi này chỉ dẫn Excel mở sổ làm việc bạn vừa nhấp đúp.
Nếu Excel thiết lập bỏ qua ứng dụng dùng Dynamic Data Exchange, trao đổi không xảy ra và bạn thấy lỗi 'Microsoft Excel đang chờ ứng dụng khác hoàn thành hành động OLE'.
May mắn thay, dễ khắc phục bằng cách vào menu Tùy chọn Excel bật giao thức DDE. Hướng dẫn:
- Mở Excel nhấp Tệp. Không quan trọng mở sổ làm việc mới hay tài liệu mới.

- Trong menu Tệp, nhấp Tùy chọn từ ngăn trái.

- Trong menu Tùy chọn Excel, nhấp tab Nâng cao menu trái. Bên phải, cuộn xuống đến phần Chung. Đảm bảo hộp Bỏ qua ứng dụng khác sử dụng Dynamic Data Exchange (DDE) KHÔNG được tích.

- Nhấp OK lưu, khởi động lại Excel. Lặp thao tác trước gây lỗi xem còn không.
Nếu vẫn gặp lỗi, chuyển phương pháp tiếp theo.
Phương pháp 3: Kết thúc tiến trình Internet Explorer (IE)
Một số người thấy lỗi "Microsoft đang chờ ứng dụng khác hoàn thành hành động OLE" khi lưu tệp, có thể do tiến trình IE can thiệp trao đổi Dynamic Data Exchange (DDE).
Người dùng tình huống tương tự báo cáo khắc phục sau khi kết thúc tiến trình IE thủ công. Hướng dẫn:
- Nhấn Ctrl + Shift + Esc mở Task Manager.
- Trong Task Manager, tab Tiến trình xem có tiến trình Internet Explorer đang hoạt động không.
- Nếu thấy, chuột phải chọn Kết thúc tác vụ đóng.

- Quay lại Excel xem lỗi còn khi lưu tệp không.
Nếu vẫn gặp lỗi, chuyển phương pháp tiếp theo.
Phương pháp 4: Loại bỏ thông báo ứng dụng Excel
Nếu thấy lỗi khi chạy script VBA, một cách thay thế là loại bỏ thông báo ứng dụng bằng đoạn mã nhỏ.
Lưu ý: Cách này không xử lý nguyên nhân - chỉ giải pháp thay thế ngăn thông báo lỗi xuất hiện. Tuy nhiên, hữu ích nếu mục tiêu chỉ ngăn thông báo.
Hướng dẫn chèn mã VBA vào sổ làm việc Excel loại bỏ thông báo ứng dụng:
- Mở sổ làm việc trong Excel nhấn Alt + F11 mở Trình soạn thảo Visual Basic (VBE).
- Trong thanh Dự án (bên trái), chuột phải ThisWorkbook chọn Chèn > Module.

- Trong module mới, dán mã sau (phần bên phải màn hình):
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
Cập nhật: Người dùng khác báo cáo ngăn thông báo lỗi bằng mã VBA sau:
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 - Nhấn Ctrl + S nhấp Không khi thấy cảnh báo "Các tính năng sau không thể lưu trong sổ làm việc không có macro".

- Chọn vị trí phù hợp, đặt tên, đảm bảo Lưu dưới dạng là Sổ làm việc Excel cho phép Macro. Nhấp Lưu tạo Sổ làm việc Excel cho phép Macro.

- Nhấn Alt + Q đóng trình soạn thảo quay lại sổ làm việc. Quay lại trình soạn thảo nhấn Alt + F8, chọn Macro vừa tạo nhấp Chạy.
Sau thủ tục, bạn không còn thấy lỗi 'Microsoft Excel đang chờ ứng dụng khác hoàn thành hành động OLE' với Sổ làm việc này (dù có thể vẫn xảy ra ngầm).
Phương pháp 5: Tắt Chế độ tương thích (nếu áp dụng)
Một số người khắc phục sau khi phát hiện tệp thực thi Excel chạy ở Chế độ tương thích. Có thể do can thiệp thủ công hoặc ứng dụng thứ ba.
Nếu nghi ngờ Excel chạy chế độ tương thích, hãy tắt và xem lỗi 'Microsoft Excel đang chờ ứng dụng khác hoàn thành hành động OLE' có dừng không. Thường lỗi xảy ra nếu tệp thực thi Excel cấu hình chạy chế độ tương thích với Windows Vista và cũ hơn.
Hướng dẫn tắt Chế độ tương thích:
- Chuột phải tệp thực thi Excel (hoặc phím tắt) chọn Thuộc tính.

- Trong cửa sổ Thuộc tính, tab Tương thích bỏ tích hộp Chạy chương trình này ở chế độ tương thích.
