Несколько пользователей Office сообщают об ошибке «Microsoft ожидает, пока другое приложение завершит действие OLE» при попытке запустить сценарий VBA или при попытке запустить Excel из BI. стартовая площадка. Сообщается, что проблема возникает во всех последних версиях Windows, включая Windows 7, Windows 8.1 и Windows 10)
Что такое действие 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 . Было несколько отчетов пользователей, которым удалось решить проблему, отключив или удалив PDFMake. r.
- Процесс 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.
- Откройте Microsoft Excel и нажмите Файл . с помощью панели ленты.
- В меню “Файл” выберите Параметры (внизу списка меню).
- В меню параметров Excel нажмите Надстройки с помощью меню слева. Затем перейдите на правую панель, разверните раскрывающееся меню, связанное с Управление , и выберите Надстройки COM . Затем нажмите кнопку Перейти… , чтобы открыть меню Com Add-ins .
- В поле” Надстройки COM “снимите флажок, связанный с надстройкой COM для Acrobat PDFMaker Office , или выберите его и нажмите” Удалить “, чтобы удалить. его полностью.
- Перезагрузите компьютер и воссоздайте шаги, которые ранее вызывали ошибку, после завершения следующего запуска.
Если вы все еще столкнувшись с ошибкой «Microsoft Excel ожидает, пока другое приложение завершит действие OLE» , перейдите к следующему методу ниже.
Метод 2. Разрешение приложений, использующих DDE, в настройках Excel
Как сообщают многие пользователи, проблема может возникнуть, если Microsoft Excel настроен так, чтобы игнорировать любые приложения, которые пытаются взаимодействовать с Excel, использующий протокол динамического обмена данными (DDE) .
Например, скажем, вы дважды щелкаете k в книге Excel в проводнике Windows – как только команда регистрируется, динамический обмен данными (DDE) отправляется в Excel. Этот обмен даст указание Excel открыть книгу, по которой вы только что дважды щелкнули.
Если Excel настроен на игнорирование приложений, использующих динамический обмен данными протокол, обмен не произойдет, и вместо этого вы увидите сообщение об ошибке «Microsoft Excel ожидает, пока другое приложение выполнит действие OLE» .
К счастью, вы можете легко исправить эту проблему, войдя в меню Параметры в Excel и включив протокол DDE. Вот краткое руководство о том, как это сделать:
- Откройте Microsoft Excel и нажмите Файл . Не имеет значения, откроете ли вы новую книгу или новый документ.
- В Файл нажмите Параметры на левой панели.
- В меню Параметры Excel щелкните вкладку Дополнительно в левом меню. Затем перейдите на правую панель и прокрутите вниз, пока не дойдете до раздела Общие . Когда вы попадете туда, убедитесь, что флажок, связанный с Игнорировать другие приложения, использующие динамический обмен данными (DDE) , снят.
- Нажмите Ok , чтобы сохранить изменения, затем перезапустите Microsoft Excel. Затем повторите операцию, которая ранее вызывала ошибку «Microsoft ожидает, пока другое приложение завершит действие OLE» , и посмотрите, сохраняется ли проблема.
Если вы по-прежнему сталкиваетесь с тем же сообщением об ошибке, перейдите к следующему методу ниже.
Метод 3: завершение процесса Internet Explorer (IE)
Несколько пользователей, видящих «Microsoft ожидает, пока другое приложение завершит действие OLE » при попытке сохранить файл, вы можете увидеть ошибку, потому что процесс IE мешает динамическому обмену данными (DDE)
Пользователи в аналогичной ситуации сообщают, что проблема была решена после того, как они вручную завершили процесс IE. Вот краткое руководство, как это сделать:
- Нажмите Ctrl + Shift + Esc , чтобы открыть Диспетчер задач .
- В диспетчере задач перейдите на вкладку Процессы и посмотрите, есть ли у вас какой-либо процесс, принадлежащий Internet Explorer, который в настоящее время активен.
- Если вы видите одно открытое, просто щелкните его правой кнопкой мыши и выберите Завершить задачу , чтобы закрыть его.
- Вернитесь в Excel и посмотрите, появляется ли ошибка « Microsoft ожидает, пока другое приложение завершит действие OLE », когда вы повторно пытаюсь сохранить файл.
Если вы по-прежнему сталкиваетесь с той же ошибкой, перейдите к следующему методу ниже.
Метод 4: Подавление Обмен сообщениями приложения Excel
Если вы видите сообщение об ошибке при попытке запустить сценарий VBA, одним из обходных путей может быть подавление обмена сообщениями приложения с помощью крошечного фрагмента кода.
Но имейте в виду, что это не решит саму проблему – это всего лишь обходной путь, предотвращающий появление сообщения об ошибке. Однако это будет полезно, если ваша единственная цель – предотвратить появление сообщения об ошибке.
Вот краткое руководство по вставке кода VBA в Excel Workbook, который подавляет обмен сообщениями приложения Excel:
- Откройте книгу в Excel и нажмите Alt + F11 , чтобы открыть редактор Visual Basic (VBE) .
- На панели Project (слева) щелкните правой кнопкой мыши ThisWorkbook и выберите Вставить> Модуль .
- Во вновь созданном модуле вставьте следующий код (в правая часть экрана):
Private Declare Function CoRegisterMessageFilter Lib "ole32" (ByVal IFilterIn As Long, ByRef PreviousFilter) As LongPublic Sub KillMessageFilter () Dim IMsgFilter As Long CoRegisterMessageFilter 0 &, IMsgFilter SubsgFilter IMsgFilter As Long CoRegisterMessageFilter IMsgFilter, IMsgFilterE nd Sub
Обновление: Другие пользователи сообщили, что им удалось предотвратить появление сообщения об ошибке с помощью следующего кода 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.PasteEnd Sub
- Нажмите Ctrl + S и нажмите Нет , когда увидите « Следующие функции не могут быть сохранены в книге без макросов » предупреждение.
- Затем выберите подходящее место для измененной книги задайте собственное имя и убедитесь, что для параметра Тип файла установлено значение Книга Excel с поддержкой макросов . Когда все будет в порядке, нажмите Сохранить , чтобы создать книгу Excel с поддержкой макросов .
- Нажмите Alt + Q , чтобы закрыть редактор и вернуться к своей книге.. Вернувшись в редактор, нажмите Alt + F8 , выберите только что созданный макрос и нажмите Выполнить .
После завершения этой процедуры вы больше не должны видеть ошибку «Microsoft Excel ожидает, пока другое приложение завершит действие OLE» с этой книгой (даже если она может по-прежнему появляться в фоновом режиме).
Метод 5. Отключить режим совместимости (если применимо)
Некоторым пользователям удалось устраните проблему после обнаружения того, что исполняемый файл Excel работает в режиме совместимости . Это может произойти из-за ручного вмешательства пользователя или из-за стороннего приложения.
Если вы подозреваете, что Excel работает в режиме совместимости, отключите его и посмотрите, ожидает ли ‘Microsoft Excel для другого приложения, чтобы завершить действие OLE ‘ перестает появляться ошибка. Обычно сообщение об ошибке возникает, если исполняемый файл Excel настроен для работы в режиме совместимости с Windows Vista и более ранними версиями.
Вот краткое руководство по отключению режима совместимости:
- Щелкните правой кнопкой мыши исполняемый файл Excel (или ярлык) и выберите Свойства .
- В окне Свойства перейдите на вкладку Совместимость и снимите флажок, связанный с Запустите эту программу в режиме совместимости .