Поправка: Microsoft Excel чака друго приложение за изпълнение на OLE действие

Няколко потребители на Office съобщават, че получават грешка „Microsoft чака друго приложение, за да завърши действие OLE“, когато се опитват да стартират VBA скрипт или когато се опитват да стартират Excel от BI стартовата площадка. Съобщава се, че проблемът се появява във всички последни версии на Windows, включително Windows 7, Windows 8.1 и Windows 10)

Microsoft Excel чака друго приложение, за да завърши действие OLE

Какво е OLE действие?

Действието за свързване и вграждане на обекти (OLE) по същество е механизъм, предназначен да помогне на различни приложения на Office (Word, Excel, Powerpoint, Sharepoint) да комуникират с други приложения, за да завършат операцията успешно.

Какво причинява грешката „Microsoft Excel чака друго приложение да завърши действие OLE“?

Проучихме този конкретен проблем, като разгледахме различни потребителски отчети и разгледахме официалната документация на Microsoft. Дори успяхме да повторим проблема на една от нашите тестови машини.

Ако Excel изпрати заявка за комуникация към друго приложение (да кажем Word), той го прави с помощта на обекта OLE и след това изчаква отговора от приложението. Ако отговорът не пристигне по време на прага по подразбиране, Excel ще задейства следното предупреждение до крайния потребител: „Microsoft Excel чака друго приложение за изпълнение на OLE действие“

Въпреки че съобщението за грешка винаги е едно и също, всъщност има няколко доста често срещани сценария, които ще задействат тази конкретна грешка в Microsoft Excel:

  • DDE протоколът е деактивиран от Excel - Този проблем може да възникне, защото протоколът за динамичен обмен на данни (DDE) е деактивиран от настройките на Excel.
  • Повредена инсталация на Office - Някои засегнати потребители съобщават, че проблемът е разрешен, след като са преинсталирали или поправили цялата инсталация на Office.
  • Добавката на Adobe Acrobat PDFMaker противоречи на Excel - Има множество доклади на потребители, които са успели да разрешат проблема, като деактивират или деинсталират приставката PDFMaker.
  • Процесът на IE (Internet Explorer) пречи на DDE - Това обикновено се съобщава, че потребителят се опитва да запише файл в Microsoft Excel. В този случай решението е да затворите процеса ръчно.

Ако в момента се мъчите да разрешите конкретното съобщение за грешка, тази статия ще ви предостави избор от стъпки за отстраняване на неизправности. По-долу имате селекция от методи, които други потребители в подобна ситуация успешно са използвали, за да разрешат проблема.

За най-добри резултати следвайте методите по-долу, докато срещнете корекция, която е ефективна за разрешаване на проблема. Нека да започнем

Метод 1: Деинсталиране на Adobe Acrobat PDFMaker (ако е приложимо)

Някои потребители са успели да разрешат съобщението за грешка чрез деинсталиране на добавката 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, най-вероятно можете да разрешите проблема, като деактивирате или деинсталирате добавката Adobe Acrobat PDFMaker.

Ето кратко ръководство за това как да направите това:

Актуализация: Можете също да използвате този Fix-it (тук), за да деактивирате автоматично добавката PDFMaker автоматично. Той е съвместим с всяка последна версия на Windows, включително Windows 10, Windows 8.1, Windows 7 и Windows Vista.

  1. Отворете Microsoft Excel и щракнете върху Файл с помощта на лентата с ленти.Отворете Microsoft Excel и отидете на File
  2. От менюто Файл щракнете върху Опции (в долната част на списъка с менюта).Отидете на Файл> Опции
  3. В менюто Опции на Excel щракнете върху Добавки, като използвате лявото странично меню. След това преминете към десния прозорец, разгънете падащото меню, свързано с Управление, и изберете COM добавки . След това щракнете върху бутона Go ..., за да стартирате менюто Com Add-ins .Отидете на Add-ins, изберете COM Add-ins от падащото меню и щракнете върху Go
  4. В полето COM Add-ins премахнете отметката от квадратчето, свързано с добавката на Acrobat PDFMaker Office COM, или го изберете и щракнете върху Remove, за да го изтриете напълно.
  5. Рестартирайте компютъра си и пресъздайте стъпките, които преди това са създавали грешката, след като приключи следващото стартиране.

Ако все още срещате грешка „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 протокола. Ето кратко ръководство за това как да направите това:

  1. Отворете Microsoft Excel и кликнете върху Файл . Няма значение дали ще отворите нова работна книга или нов документ.Отворете Microsoft Excel и отидете на File
  2. В менюто Файл щракнете върху Опции от левия прозорец.Отидете на Файл> Опции
  3. В менюто Опции на Excel щракнете върху раздела Разширени от лявото меню. След това преминете към десния прозорец и превъртете надолу, докато стигнете до раздела Общи . След като стигнете там, уверете се, че квадратчето, свързано с Игнориране на други приложения, които използват динамичен обмен на данни (DDE), е отметнато.Активиране на DDE протокола в Excel
  4. Щракнете върху Ok, за да запазите промените, след което рестартирайте Microsoft Excel. След това повторете операцията, която преди това е причинила грешка „Microsoft чака друго приложение да завърши действие OLE“ и вижте дали проблемът все още се появява.

Ако все още срещате същото съобщение за грешка, преминете към следващия метод по-долу.

Метод 3: Убиване на процеса на Internet Explorer (IE)

Няколко потребители, виждащи грешката „Microsoft чака друго приложение за изпълнение на OLE действие“, когато се опитват да запазят файла, може да виждате грешката, защото IE процес пречи на обмена на динамичен обмен на данни (DDE) .

Потребители в подобна ситуация съобщават, че проблемът е разрешен, след като са убили процеса на IE ръчно. Ето кратко ръководство за това как да направите това:

  1. Натиснете Ctrl + Shift + Esc, за да отворите диспечера на задачите .
  2. В диспечера на задачите отидете в раздела Процеси и вижте дали имате някакъв процес, принадлежащ на Internet Explorer, който е активен в момента.
  3. Ако видите един отворен, просто щракнете с десния бутон върху него и изберете Край на задачата, за да го затворите.Затваряне на процеса на Internet Explorer (IE)
  4. Върнете се в Excel и вижте дали все още се появява грешка „Microsoft чака друго приложение, за да завърши действие OLE“ , когато се опитвате да запазите файла.

Ако все още срещате същата грешка, преминете към следващия метод по-долу.

Метод 4: Потискане на съобщенията за приложения на Excel

Ако виждате съобщението за грешка, когато се опитвате да стартирате VBA скрипт, едно решение може да бъде потискане на съобщенията в приложението, като се използва малка част от кода.

Но имайте предвид, че това няма да третира самия проблем - това е само решение, което предотвратява появата на съобщението за грешка. Ще бъде полезно обаче, ако единствената ви цел е да предотвратите появата на съобщението за грешка.

Ето кратко ръководство за вмъкване на код на VBA за Excel Workbook, който ще потисне съобщенията на приложението на Excel:

  1. Отворете работната си книга в Excel и натиснете Alt + F11, за да отворите редактора на Visual Basic (VBE) .
  2. В лентата на проекта (отляво) щракнете с десния бутон върху ThisWorkbook и изберете Insert> Module .Щракнете с десния бутон върху ThisWorkbook и изберете Insert> Module
  3. В новосъздадения модул поставете следния код (в дясната част на екрана):
    Частно деклариране на функция 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 RestoreMessageFilFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilterFilter

    Актуализация: Други потребители съобщиха, че са успели да предотвратят появата на подкана за грешка, като използват следния код на 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. Press Ctrl + S and click No when you see the “The following features cannot be saved in macro-free workbook” warning.Щракнете върху Не в предупредителния ред
  5. След това изберете подходящо място за модифицираната работна книга, задайте правилно име и се уверете, че типът Запазване като е зададен на Excel Macro-Enabled Workbook. След като всичко е подредено, щракнете върху Запиши, за да създадете Excel Macro-Enabled Workbook .Създаване на работна книга с активиран макрос на Excel
  6. Натиснете Alt + Q, за да затворите редактора и да се върнете към вашата работна книга. След като се върнете в редактора си, натиснете Alt + F8 , изберете макроса, който току-що сте създали, и щракнете върху Run .

След като тази процедура приключи, вече не трябва да виждате грешката „Microsoft Excel чака друго приложение, за да завърши действие OLE“ с тази работна книга (въпреки че все още може да се появи във фонов режим).

Method 5: Disable Compatibility Mode (if applicable)

Some users have managed to resolve the issue after discovering that the Excel executable was running in Compatibility mode. This can happen due to manual user intervention or a 3rd party application.

If you suspect that Excel is running in compatibility mode, disable it and see if the ‘Microsoft Excel is waiting for another application to complete an OLE action’ error stops appearing. Typically, the error is reported to occur if the Excel executable is configured to run in Compatibility mode with Windows Vista and older.

Here’s a quick guide on disabling Compatibility Mode:

  1. Right-click the Excel executable (or the shortcut) and choose Properties.Щракнете с десния бутон върху изпълнимия файл на Excel и изберете Properties
  2. В прозореца Свойства отидете в раздела Съвместимост и премахнете отметката от квадратчето, свързано със Стартиране на тази програма в режим на съвместимост .Премахнете отметката от Стартиране на тази програма в режим на съвместимост