Poprawka: Microsoft Excel czeka, aż inna aplikacja zakończy akcję OLE

Kilku użytkowników pakietu Office zgłasza błąd „Microsoft oczekuje na zakończenie działania OLE przez inną aplikację” podczas próby uruchomienia skryptu VBA lub podczas próby uruchomienia programu Excel z panelu uruchamiania BI. Zgłoszono, że problem występuje we wszystkich najnowszych wersjach systemu Windows, w tym Windows 7, Windows 8.1 i Windows 10)

Program Microsoft Excel czeka, aż inna aplikacja zakończy akcję OLE

Co to jest akcja OLE?

Akcja łączenia i osadzania obiektów (OLE) jest zasadniczo mechanizmem zaprojektowanym, aby pomóc różnym aplikacjom Office (Word, Excel, Powerpoint, Sharepoint) komunikować się z innymi aplikacjami w celu pomyślnego zakończenia operacji.

Co powoduje błąd „Microsoft Excel czeka na zakończenie działania OLE przez inną aplikację”?

Zbadaliśmy ten konkretny problem, przeglądając różne raporty użytkowników i przeglądając oficjalną dokumentację firmy Microsoft. Udało nam się nawet odtworzyć ten problem na jednej z naszych maszyn testujących.

Jeśli Excel wysyła żądanie komunikacji do innej aplikacji (powiedzmy Word), robi to przy użyciu obiektu OLE, a następnie czeka na odpowiedź aplikacji. Jeśli odpowiedź nie nadejdzie w domyślnym progu czasowym, program Excel wyzwoli następujące ostrzeżenie dla użytkownika końcowego: „Microsoft Excel czeka, aż inna aplikacja zakończy akcję OLE”

Chociaż komunikat o błędzie jest zawsze taki sam, w rzeczywistości istnieje kilka dość typowych scenariuszy, które spowodują ten konkretny błąd w programie Microsoft Excel:

  • Protokół DDE jest wyłączony w programie Excel - ten problem może występować, ponieważ protokół Dynamic Data Exchange (DDE) jest wyłączony w ustawieniach programu Excel.
  • Uszkodzona instalacja pakietu Office - niektórzy użytkownicy, których dotyczy problem, zgłosili, że problem został rozwiązany po ponownej instalacji lub naprawieniu całej instalacji pakietu Office.
  • Dodatek Adobe Acrobat PDFMaker jest w konflikcie z programem Excel - pojawiło się wiele raportów użytkowników, którzy byli w stanie rozwiązać ten problem, wyłączając lub odinstalowując wtyczkę PDFMaker.
  • Proces IE (Internet Explorer) zakłóca działanie DDE - zwykle występuje, gdy użytkownik próbuje zapisać plik w programie Microsoft Excel. W takim przypadku rozwiązaniem jest ręczne zamknięcie procesu.

Jeśli obecnie masz problemy z rozwiązaniem tego konkretnego komunikatu o błędzie, w tym artykule znajdziesz wybór kroków rozwiązywania problemów. Poniżej znajduje się lista metod, które z powodzeniem wykorzystali inni użytkownicy w podobnej sytuacji, aby rozwiązać problem.

Aby uzyskać najlepsze wyniki, postępuj zgodnie z poniższymi metodami w kolejności, aż napotkasz poprawkę, która skutecznie rozwiąże problem. Zaczynajmy

Metoda 1: Odinstalowanie programu Adobe Acrobat PDFMaker (jeśli dotyczy)

Niektórym użytkownikom udało się rozwiązać ten komunikat o błędzie, odinstalowując dodatek Adobe Acrobat PDF Maker. Jak się okazuje, ta wtyczka może powodować konflikty z niektórymi wersjami programu Microsoft Excel.

Oto lista wersji pakietu Office zgodnych z programem PDF Maker:

  • Office 2010 (Office 14) w wersji 32- i 64-bitowej
  • Office 2013 (Office 15) w wersji 32- i 64-bitowej
  • Office 2016 (Office 16) w wersji 32- i 64-bitowej

Uwaga: możesz zapoznać się z pełnym przewodnikiem po zgodności firmy Adobe ( tutaj ).

Jeśli ten scenariusz ma zastosowanie i nie polegasz tak bardzo na programie PDF Maker, najprawdopodobniej możesz rozwiązać problem, wyłączając lub odinstalowując dodatek Adobe Acrobat PDFMaker.

Oto krótki przewodnik, jak to zrobić:

Aktualizacja: Możesz również użyć tej poprawki (tutaj), aby automatycznie wyłączyć dodatek PDFMaker. Jest kompatybilny z każdą najnowszą wersją systemu Windows, w tym Windows 10, Windows 8.1, Windows 7 i Windows Vista.

  1. Otwórz program Microsoft Excel i kliknij Plik na pasku wstążki.Otwórz Microsoft Excel i przejdź do Plik
  2. W menu Plik kliknij Opcje (u dołu listy menu).Przejdź do Plik> Opcje
  3. W menu Opcje programu Excel kliknij Dodatki w menu po lewej stronie. Następnie przejdź do okienka po prawej stronie, rozwiń menu rozwijane związane z Zarządzaj i wybierz Dodatki COM . Następnie kliknij przycisk Go… , aby uruchomić menu Com Add-ins .Przejdź do Dodatki, wybierz Dodatki COM z menu rozwijanego i kliknij Idź
  4. W polu Dodatki COM odznacz pole związane z dodatkiem Acrobat PDFMaker Office COM lub zaznacz je i kliknij Usuń, aby całkowicie je usunąć.
  5. Uruchom ponownie komputer i odtwórz kroki, które wcześniej powodowały błąd, po zakończeniu następnego uruchomienia.

Jeśli nadal występuje błąd „Microsoft Excel czeka na zakończenie działania OLE przez inną aplikację” , przejdź do następnej metody poniżej.

Metoda 2: Zezwalanie aplikacjom korzystającym z DDE w ustawieniach programu Excel

Jak zgłosiło wielu użytkowników, problem może wystąpić, jeśli program Microsoft Excel jest skonfigurowany do ignorowania aplikacji, które próbują komunikować się z programem Excel przy użyciu protokołu Dynamic Data Exchange (DDE) .

Na przykład, powiedzmy, że klikasz dwukrotnie skoroszyt programu Excel w Eksploratorze Windows - gdy tylko polecenie zostanie zarejestrowane, do programu Excel zostanie wysłana dynamiczna wymiana danych (DDE). Ta wymiana poinstruuje program Excel, aby otworzył skoroszyt, który właśnie kliknąłeś dwukrotnie.

Jeśli program Excel jest skonfigurowany do ignorowania aplikacji korzystających z protokołu dynamicznej wymiany danych, wymiana nie nastąpi, a zamiast tego zostanie wyświetlony komunikat o błędzie „Microsoft Excel oczekuje na zakończenie działania OLE przez inną aplikację” .

Na szczęście możesz łatwo rozwiązać ten problem, uzyskując dostęp do menu Opcje programu Excel i włączając protokół DDE. Oto krótki przewodnik, jak to zrobić:

  1. Otwórz Microsoft Excel i kliknij Plik . Nie ma znaczenia, czy otworzysz nowy skoroszyt, czy nowy dokument.Otwórz Microsoft Excel i przejdź do Plik
  2. W menu Plik kliknij Opcje w lewym okienku.Przejdź do Plik> Opcje
  3. W menu Opcje programu Excel kliknij kartę Zaawansowane z menu po lewej stronie. Następnie przejdź do prawego okienka i przewiń w dół, aż dojdziesz do sekcji Ogólne . Gdy tam dotrzesz, upewnij się, że pole powiązane z Ignoruj ​​inne aplikacje, które używają dynamicznej wymiany danych (DDE), jest odznaczone.Włączanie protokołu DDE w programie Excel
  4. Kliknij OK, aby zapisać zmiany, a następnie uruchom ponownie program Microsoft Excel. Następnie powtórz operację, która wcześniej powodowała błąd „Microsoft czeka na zakończenie akcji OLE przez inną aplikację” i sprawdź, czy problem nadal występuje.

Jeśli nadal napotykasz ten sam komunikat o błędzie, przejdź do następnej metody poniżej.

Metoda 3: Zabicie procesu Internet Explorera (IE)

Kilku użytkowników widzących błąd „Microsoft czeka na zakończenie działania OLE przez inną aplikację” podczas próby zapisania pliku, może to być spowodowane tym, że proces IE koliduje z wymianą danych Dynamic Data Exchange (DDE) .

Użytkownicy w podobnej sytuacji zgłosili, że problem został rozwiązany po ręcznym zabiciu procesu IE. Oto krótki przewodnik, jak to zrobić:

  1. Naciśnij Ctrl + Shift + Esc, aby otworzyć Menedżera zadań .
  2. W Menedżerze zadań przejdź do karty Procesy i sprawdź, czy masz aktualnie aktywny proces należący do programu Internet Explorer.
  3. Jeśli zobaczysz, że jedno jest otwarte, po prostu kliknij je prawym przyciskiem myszy i wybierz Zakończ zadanie, aby je zamknąć.Zamknięcie procesu Internet Explorer (IE)
  4. Wróć do programu Excel i sprawdź, czy podczas próby zapisania pliku nadal występuje błąd „Microsoft oczekuje na zakończenie działania OLE przez inną aplikację” .

Jeśli nadal napotykasz ten sam błąd, przejdź do następnej metody poniżej.

Metoda 4: Pomijanie przesyłania wiadomości w aplikacji Excel

Jeśli widzisz komunikat o błędzie podczas próby uruchomienia skryptu VBA, jednym obejściem byłoby pominięcie komunikatów aplikacji przy użyciu niewielkiego fragmentu kodu.

Pamiętaj jednak, że nie rozwiąże to samego problemu - jest to tylko obejście, które zapobiega wyświetlaniu komunikatu o błędzie. Będzie jednak pomocne, jeśli Twoim jedynym celem jest zapobieganie wyświetlaniu się komunikatu o błędzie.

Oto krótki przewodnik dotyczący wstawiania kodu VBA do skoroszytu programu Excel, który blokuje komunikaty aplikacji Excel:

  1. Otwórz skoroszyt w programie Excel i naciśnij klawisze Alt + F11, aby otworzyć Edytor Visual Basic (VBE) .
  2. Na pasku projektu (po lewej stronie) kliknij prawym przyciskiem myszy ThisWorkbook i wybierz polecenie Wstaw> Moduł .Kliknij prawym przyciskiem myszy ThisWorkbook i wybierz Wstaw> Moduł
  3. W nowo utworzonym module wklej następujący kod (w prawej części ekranu):
    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 EndRegessMessageFilterMessageFilter (), Dimgess, IMsgFilter:

    Aktualizacja: Inni użytkownicy zgłosili, że udało im się zapobiec wyświetlaniu monitu o błędzie przy użyciu następującego kodu 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 Ustaw 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. Naciśnij klawisze Ctrl + S i kliknij przycisk Nie, gdy pojawi się ostrzeżenie „Następujących funkcji nie można zapisać w skoroszycie bez makr” .Kliknij Nie po wyświetleniu monitu z ostrzeżeniem
  5. Następnie wybierz odpowiednią lokalizację dla zmodyfikowanego skoroszytu, ustaw odpowiednią nazwę i upewnij się, że typ Zapisz jako jest ustawiony na skoroszyt programu Excel z włączoną obsługą makr . Gdy wszystko będzie w porządku, kliknij Zapisz, aby utworzyć skoroszyt programu Excel z włączoną obsługą makr .Tworzenie skoroszytu programu Excel z włączoną obsługą makr
  6. Naciśnij klawisze Alt + Q, aby zamknąć edytor i wrócić do skoroszytu. Po powrocie do edytora naciśnij Alt + F8 , wybierz makro, które właśnie utworzyłeś i kliknij Uruchom .

Po zakończeniu tej procedury w tym skoroszycie nie powinien już być wyświetlany komunikat „Microsoft Excel czeka na zakończenie działania OLE przez inną aplikację” (nawet jeśli nadal może występować w tle).

Metoda 5: Wyłącz tryb zgodności (jeśli dotyczy)

Niektórym użytkownikom udało się rozwiązać ten problem po odkryciu, że plik wykonywalny Excel był uruchomiony w trybie zgodności . Może się to zdarzyć w wyniku ręcznej interwencji użytkownika lub aplikacji innej firmy.

Jeśli podejrzewasz, że program Excel działa w trybie zgodności, wyłącz go i zobacz, czy komunikat „Microsoft Excel oczekuje na zakończenie działania OLE przez inną aplikację” przestaje się pojawiać. Zazwyczaj błąd jest zgłaszany, jeśli plik wykonywalny programu Excel jest skonfigurowany do działania w trybie zgodności z systemem Windows Vista i starszymi.

Oto krótki przewodnik dotyczący wyłączania trybu zgodności:

  1. Kliknij prawym przyciskiem myszy plik wykonywalny programu Excel (lub skrót) i wybierz opcję Właściwości .Kliknij prawym przyciskiem myszy plik wykonywalny Excel i wybierz Właściwości
  2. W oknie Właściwości przejdź do zakładki Zgodność i odznacz pole związane z Uruchom ten program w trybie zgodności .Odznacz opcję Uruchom ten program w trybie zgodności