Исправлено: 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 и перейдите в Файл
  2. В меню «Файл» выберите « Параметры» (внизу списка меню).Перейдите в Файл> Параметры
  3. В меню «Параметры Excel» щелкните « Надстройки» в левом меню. Затем перейдите на правую панель, разверните раскрывающееся меню, связанное с « Управление», и выберите « Надстройки COM» . Затем нажмите кнопку « Перейти…» , чтобы открыть меню надстроек Com .Перейдите в «Надстройки», выберите «Надстройки COM» в раскрывающемся меню и нажмите «Перейти».
  4. В поле «Надстройки COM» снимите флажок, связанный с надстройкой COM Acrobat PDFMaker Office, или выберите его и нажмите «Удалить», чтобы полностью удалить.
  5. Перезагрузите компьютер и повторите шаги, которые ранее вызывали ошибку, после завершения следующего запуска.

Если вы по-прежнему сталкиваетесь с ошибкой «Microsoft Excel ожидает, пока другое приложение завершит действие OLE» , перейдите к следующему способу ниже.

Метод 2: разрешение приложений, использующих DDE, в настройках Excel

Как сообщают многие пользователи, проблема может возникнуть, если Microsoft Excel настроен на игнорирование любых приложений, которые пытаются взаимодействовать с Excel с помощью протокола динамического обмена данными (DDE) .

Например, предположим, что вы дважды щелкаете книгу Excel в проводнике Windows - как только команда регистрируется, в Excel отправляется динамический обмен данными (DDE). Этот обмен инструктирует Excel открыть книгу, которую вы только что дважды щелкнули.

Если Excel настроен на игнорирование приложений, использующих протокол динамического обмена данными , обмен не произойдет, и вместо этого вы увидите сообщение об ошибке «Microsoft Excel ожидает, пока другое приложение выполнит действие OLE» .

К счастью, вы можете легко решить эту проблему, зайдя в меню « Параметры» Excel и включив протокол DDE. Вот краткое руководство, как это сделать:

  1. Откройте Microsoft Excel и щелкните Файл . Неважно, откроете ли вы новую книгу или новый документ.Откройте Microsoft Excel и перейдите в Файл
  2. В меню « Файл» выберите « Параметры» на левой панели.Перейдите в Файл> Параметры
  3. В меню « Параметры Excel» щелкните вкладку « Дополнительно » в левом меню. Затем перейдите на правую панель и прокрутите вниз, пока не дойдете до раздела « Общие ». Как только вы попадете туда, убедитесь, что флажок, связанный с Игнорировать другие приложения, использующие динамический обмен данными (DDE) , снят.Включение протокола DDE в Excel
  4. Нажмите ОК, чтобы сохранить изменения, затем перезапустите 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 и выберите « Вставить»> «Модуль» .Щелкните правой кнопкой мыши ThisWorkbook и выберите «Вставить»> «Модуль».
  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 RestoreMessageMessageSgilter IMFilter IMFilter Sub RestoreMessageSgilter IMFilter (IMFilter)

    Обновление: другие пользователи сообщили, что им удалось предотвратить появление сообщения об ошибке, используя следующий код VBA:

    Sub CreateXYZ () Dim wdApp As Object Dim wd As Object On Error Возобновить Далее Установить wdApp = GetObject (, "Word.Application") Если Err.Number 0 Затем Установить wdApp = CreateObject ("Word.Application") Конец Если при ошибке GoTo 0 Установите 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 и нажмите Нет, когда увидите предупреждение «Следующие функции не могут быть сохранены в книге без макросов» .Нажмите Нет при появлении предупреждения.
  5. Then, choose a suitable location for the modified workbook set a proper name and make sure that the Save as type is set to Excel Macro-Enabled Workbook. Once everything is in order, click on Save to create the Excel Macro-Enabled Workbook.Создание книги Excel с поддержкой макросов
  6. Press Alt + Q to close the editor and go back to your workbook. Once you’re back in your editor press Alt + F8, select the Macro that you’ve just created and click Run.

Once this procedure is complete, you should no longer see the ‘Microsoft Excel is waiting for another application to complete an OLE action’ error with this WorkBook (even though it might still occur in the background).

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 и выберите Свойства.
  2. В окне « Свойства» перейдите на вкладку « Совместимость » и снимите флажок « Запускать эту программу в режиме совместимости» .Снимите флажок Запустить эту программу в режиме совместимости