Ole операция excel - IT Справочник
Llscompany.ru

IT Справочник
145 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ole операция excel

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

Некоторые пользователи Office сообщают об ошибке «Microsoft ожидает, пока другое приложение завершит действие OLE» при попытке запустить сценарий VBA или при запуске Excel из стартовой панели. Сообщается, что эта проблема возникает во всех последних версиях 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. Было несколько отчетов пользователей, которые смогли решить проблему, отключив или удалив плагин 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-разрядная версии

Если этот сценарий применим, и вы не сильно полагаетесь на PDF Maker, вы, скорее всего, сможете решить эту проблему, отключив или удалив надстройку Adobe Acrobat PDFMaker.

Вот краткое руководство о том, как это сделать:

  1. Откройте Microsoft Excel и нажмите « Файл» на ленточной панели.
  2. В меню «Файл» выберите « Параметры» (внизу списка меню).
  3. В меню параметров Excel выберите « Надстройки» в левом меню. Затем перейдите к правой панели, разверните раскрывающееся меню, связанное с управлением, и выберите Надстройки COM . Затем нажмите кнопку « Перейти…» , чтобы открыть меню надстроек Com .
  4. В поле Надстройки COM снимите флажок, связанный с надстройкой Acrobat PDFMaker Office COM, или выберите его и нажмите «Удалить», чтобы полностью удалить его.
  5. Перезагрузите компьютер и заново выполните шаги, которые ранее вызывали ошибку, после завершения следующего запуска.

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

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

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

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

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

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

  1. Откройте Microsoft Excel и нажмите « Файл» . Не имеет значения, открываете ли вы новую рабочую книгу или новый документ.
  2. В меню « Файл» выберите « Параметры» на левой панели.
    1. В меню параметров Excel выберите вкладку « Дополнительно » в левом меню. Затем перейдите на правую панель и прокрутите вниз, пока не дойдете до общего раздела. После этого убедитесь, что флажок, связанный с Игнорировать DDE запросы от других приложений, не отмечен.
  3. Нажмите ОК, чтобы сохранить изменения, затем перезапустите Microsoft Excel. Затем повторите операцию, которая ранее вызывала ошибку «Microsoft ожидает, пока другое приложение завершит действие OLE», и посмотрите, сохраняется ли проблема.

Если вы все еще сталкиваетесь с тем же сообщением об ошибке, перейдите к следующему способу ниже.

Способ 3: уничтожение процесса Internet Explorer (IE)

Ошибка «Microsoft ожидает, пока другое приложение завершит действие OLE» может возникнуть при попытке сохранить файл, поскольку процесс IE может мешать динамическому обмену данными (DDE).

Читать еще:  Createoleobject excel application

Пользователи в аналогичной ситуации сообщали, что проблема была решена после того, как они вручную завершили процесс IE. Вот краткое руководство о том, как это сделать:

  1. Нажмите Ctrl + Shift + Esc, чтобы открыть диспетчер задач .
  2. В диспетчере задач перейдите на вкладку Процессы и посмотрите, есть ли у вас какой-либо процесс, принадлежащий Internet Explorer, который в данный момент активен.
  3. Если вы видите такой процесс, просто щелкните по нему правой кнопкой мыши и выберите Завершить задачу, чтобы закрыть его
  4. Вернитесь в Excel и посмотрите, возникает ли еще ошибка «Microsoft ожидает, пока другое приложение завершит действие OLE» , когда вы пытаетесь сохранить файл.

Если вы все еще сталкиваетесь с той же ошибкой, перейдите к следующему способу ниже.

Метод 4: Подавление обмена сообщениями Excel

Если вы видите сообщение об ошибке при попытке запустить сценарий VBA, одним из обходных путей может быть подавление обмена сообщениями приложения с помощью крошечного фрагмента кода.

Но имейте в виду, что это не решит саму проблему — это всего лишь обходной путь, который предотвращает появление сообщения об ошибке. Вот краткое руководство по вставке кода VBA в Excel Workbook, которое подавит обмен сообщениями приложений с Excel:

  1. Откройте Excel и нажмите Alt + F11, чтобы открыть редактор Visual Basic (VBE) .
  2. На панели «Project» (слева) щелкните правой кнопкой мыши ЭтаКнига и выберите « Insert»> «Module» .
  3. Во вновь созданном модуле вставьте следующий код:
  1. Нажмите Ctrl + S и нажмите Нет, когда увидите предупреждение «Следующие функции не могут быть сохранены в книге без макросов» .
  2. Затем выберите подходящее место для измененной рабочей книги, задайте правильное имя и убедитесь, что в качестве типа « Сохранить как» выбран Excel Macro-Enabled Workbook. Когда все будет в порядке, нажмите « Сохранить», чтобы создать книгу Excel с поддержкой макросов .
  3. Нажмите Alt + Q, чтобы закрыть редактор и вернуться к своей книге. Вернувшись в редактор, нажмите Alt + F8 , выберите только что созданный макрос и нажмите «Выполнить».

После завершения этой процедуры вы больше не должны видеть ошибку «Microsoft Excel ждет другого приложения для завершения действия OLE» с этой рабочей книгой (даже если она все еще может возникать в фоновом режиме).

Способ 5: отключить режим совместимости (если применимо)

Некоторым пользователям удалось решить проблему, обнаружив, что исполняемый файл Excel работает в режиме совместимости . Это может произойти из-за ручного вмешательства пользователя или стороннего приложения.

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

Вот краткое руководство по отключению режима совместимости:

  1. Щелкните правой кнопкой мыши исполняемый файл Excel (или ярлык) и выберите « Свойства» .
  2. В окне « Свойства» перейдите на вкладку « Совместимость » и снимите флажок, связанный с «Запустить эту программу в режиме совместимости» .

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

Связывание и внедрение объектов (OLE) — это технология, разработанная Microsoft, которая позволяет приложениям Office взаимодействовать с другими приложениями. Это позволяет одному приложению для редактирования отправить часть документа в другие приложения, а затем импортировать или вернуть его вместе с другим содержимым.

Например, если Excel пытается связаться с PowerPoint, он отправляет команду объекту OLE и ожидает ответа от PowerPoint.

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

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

Существует три распространенных причины того, что Microsoft Excel ожидает, пока другое приложение завершит сообщение OLE actio n:

  1. Добавление в приложение слишком большого количества надстроек, из которых один или несколько повреждены.
  2. Excel пытается открыть файл, созданный в каком-либо другом приложении, или извлечь данные из активного
  3. С помощью параметра «Отправить как вложение» в Excel можно отправить лист Excel по электронной почте.

Общее решение, которое рекомендуется, это перезагрузить компьютер и попробовать заново . Так как ошибка также может возникать из-за того, что Excel пытается взаимодействовать с другим приложением, которое не отвечает, рекомендуется закрыть Excel и все другие приложения. После этого вы можете снова открыть лист Excel и начать заново.

Однако, если проблема не устранена, вы можете попробовать любое из приведенных ниже решений.

1. Включение функции «Игнорировать другие приложения, использующие DDE».

1] Откройте лист Excel и перейдите в меню «Файл». В меню Файл выберите Параметры.

2] Откроется диалоговое окно параметров Excel. Перейдите на вкладку «Дополнительно» и прокрутите вниз до области «Общие». Там проверьте ‘Игнорируйте другие приложения, которые используют динамический обмен данными (DDE)‘.

Это должно уменьшить часть нагрузки на приложение и сделать его легче. Попробуйте перезапустить Excel после этого.

2. Отключение надстроек

1] Откройте лист Excel и перейдите в меню «Файл». В меню «Файл» выберите «Параметры».

2] Появится диалоговое окно «Параметры Excel». На вкладках слева нажмите Надстройки.

3] В нижней части этого окна находится окно управления. Выберите надстройки Excel и нажмите кнопку «Перейти» рядом с ней. Это заполняет список надстроек.

4] Снимите все флажки рядом с надстройками в поле Доступные надстройки и нажмите кнопку ОК.

Это отключает все надстройки, тем самым снижая нагрузку на приложение.

Читать еще:  Гетвидео официальный сайт

3: Использование других методов для прикрепления книги Excel

Использование встроенной в Excel опции «Отправить с помощью электронной почты» для отправки книги в виде вложения также может привести к отображению вышеуказанной ошибки OLE. Но вы можете решить эту проблему, прикрепив книгу Excel к своему сообщению через приложение электронной почты. Вы можете отправить свою книгу, прикрепив ее в виде файла к сообщению электронной почты в Outlook 2013/2010 или Hotmail. Фактически, вы можете использовать любое почтовое приложение на ваш выбор, чтобы обойти проблему.

Решения, обсуждаемые в этом посте, являются одними из самых эффективных и популярных, используемых для устранения ошибки Excel, упомянутой выше в обсуждении. Надеюсь, что-то здесь поможет вам.

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

Существует множество ошибок, возникающих во всех приложениях, даже в таких приложениях, как Microsoft Excel, которые входят в состав пакета Office.

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

Когда эта конкретная ошибка появляется на вашем дисплее, у вас есть несколько вариантов для ее устранения.

Как устранить ошибку «Microsoft Excel ожидает другого приложения…»?

  1. Что такое действие OLE?
  2. Почему появляется ошибка OLE?
  3. Как исправить проблему «Excel ждет OLE»

1. Что такое OLE a ?

Действие «Связывание и внедрение объектов» (OLE) — это технология, позволяющая приложениям Office взаимодействовать с другими приложениями.

Это позволяет редактирующему приложению отправлять часть документа в другие приложения, а затем импортирует его или возвращает его с дополнительным содержимым.

2: Почему появляется ошибка OLE?

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

3: Как исправить проблему «Excel ждет OLE»

Первое решение, конечно же, перезагрузить компьютер и повторить попытку. Если проблема не устранена, попробуйте следующие обходные пути:

1. Включить функцию «Игнорировать другое приложение, использующее DDE»

  1. Откройте лист Excel
  2. Перейти в меню «Файл»
  3. Нажмите на Опции
  4. Перейти на вкладку «Дополнительно»
  5. Прокрутите вниз до области «Общие» и установите флажок «Игнорировать другие приложения, использующие динамический обмен данными (DDE)».
  6. Перезапустите Excel

2. Отключить надстройки

  1. Откройте лист Excel
  2. Перейти в меню «Файл»
  3. Нажмите на Опции
  4. Нажмите на надстройки
  5. Выберите надстройки Excel и нажмите кнопку «Перейти».
  6. Снимите все флажки и нажмите ОК

3. Другие способы прикрепления книги Excel

Использование в Excel опции «Отправить с помощью электронной почты» может привести к указанной выше ошибке.

Вы можете отправить свою книгу, прикрепив ее в виде файла к электронному письму, например, в Outlook или Hotmail. Вы можете использовать любое приложение электронной почты, чтобы решить эту проблему.

Выберите свое почтовое приложение с умом! Мы пришли к нам на помощь с этим свежим списком!

С учетом сказанного, мы можем обернуть это. Сообщите нам в разделе комментариев ниже, если вам удалось устранить ошибку с помощью вышеупомянутых шагов.

Примечание редактора . Этот пост был первоначально опубликован в мае 2017 года и с тех пор был полностью переработан и обновлен для обеспечения свежести, точности и полноты.

Использование технологии OLE

(Object Linking and Embedding – связывание и внедрение объектов)

Технология OLE позволяет устанавливать связь между двумя приложениями, при этом одно является приложением – источником, а другое приложением – приёмником (например, связь между приложениями Excel и Word). Различие между связыванием и внедрение объектов очень существенное. Внедрить объект означает вставить объект в документ так, что он становится постоянной его частью. При изменении источника внедренная в приёмник информация не обновляется. Связать объект означает создать и сохранить в документе связи документа — источника с документом-приёмником. При изменении данных в источнике автоматически обновляются данные в приёмнике.

Например, в качестве источника данных рассмотрим файл Excel Учебная задача, а приёмника — файл Word Отчёт.

· Для установления связи между ними выполнить действия:

· Создать документ Отчёт в Word, оформить заголовочную часть отчёта, например, Ведомость задолженностей заказчиков.

· Создать копию листа Рабочая ведомость в файле Учебная задача. Дать листу имя Связь.

· Открыть оба приложения: файл Учебная задача В Excel и файл Отчёт в окне Word.

· Открыть лист Таблица и выделить таблицу.

· Выполнить команду Копировать, чтобы скопировать таблицу в буфер обмена.

· Перейти в документ Отчёт и установить курсор в то место, где должны находиться данные таблицы.

· Выполнить команду Главная/Вставить/Специальная Вставка…

· В появившемся окне установить флажок Связать, выбрать вариант вставки содержимого буфера и нажать ОК.

Замечание: Неформатированный текст изменений из документа – источника не отображает.

Данные из таблицы Excel появятся в документе Word.

При этом размер файла документа Word не увеличится, т.к. таблица из Excel не сохраняется в нем, а изображение на экране формируется из самого источника. При переименовании или перемещении файла-источника связь разрывается, ее надо восстановить.

Если изменить какое-либо исходное данное в таблице Excel, то в таблице произойдет пересчет (это очевидно). Такие же изменения произойдут и документе Word. Это происходит благодаря установленной связи.

Вопросы для самопроверки

1. Какие типы данных можно хранить в ячейках электронных таблиц Excel? Что такое формат ячеек. Назовите форматы и их особенности.

2. Какие действия выполняют с листами, столбцами, строками, ячейками, блоками?

3. Дайте определение блока ячеек. Назовите способы создания именованных блоков, ячеек. Как использовать именованные блоки ячеек?

Читать еще:  Как сделать комментарий в excel

4. Как создать формулы в ячейках электронных таблиц?

5. В чем отличие абсолютной и относительной ссылки?

6. Назовите встроенные функции Excel и их назначение, которые вы знаете. Как осуществить ввод параметров встроенной функции?

7. Дайте определение списка (базы данных) в Excel (Перечислите правила организации списка).

8. Что такое фильтр для списка (базы данных) Excel. Как задаются условия фильтрации?

9. Что такое сводная таблица? Какие данные размещаются в области фильтра, строк, столбцов и значений?

10. Как создать вычисляемое поле в сводной таблице?

11. Как построить диаграмму? Назовите типовые области диаграммы. Перечислите типы диаграмм. Какие операции понимают под редактированием диаграмм?

12. Как связаны данные электронной таблицы и диаграмм, данные сводной таблицы и диаграмм?

13. Как обеспечить контроль ввода данных в ячейки?

14. Назовите типовые области макета сводной таблицы?

Ole операция excel

Применение OLE — от простого к сложному

Если Вы не только программист, но и творческая личность, вероятно, Вы не раз обращали внимание, что Вашим программам не хватает функций по обработке текста, как в MS Word, гибкости в обработке различных типов данных в одной таблице, как в Excel, печати разнообразных отчетов, как в этих программах. Все это является результатом многолетнего труда тысяч программистов, и одному его не повторить. Можно ли это заставить работать в других программах?

В таких случаях и приходит на помощь технология Object Linking and Embedding — объектное связывание и внедрение. Прямым назначением механизма OLE является доступ к объектам из внешних программ.

Практически каждый уважающий себя пользователь использует OLE, вставляя картинки в документы Word и диаграммы в таблицы Excel. Кто слегка покруче, тот вставляет таблицы и документы друг в друга либо использует слияние документов.

Точно таким же образом весьма полезным применением Office 97 может стать использование его объектов в Ваших программах. OLE-объектами являются не только MS Graph или Equation или WordArt, но и сами приложения Office — Word, Excel, Access, PowerPoint. Поэтому все разнообразие возможностей Office открыто для всех желающих.

Например, Вы можете создать объект-наследник от «Excel.Application» и вызывать методы этого объекта в своей программе. В таком случае Ваше приложение станет гордо именоваться OLE-клиентом. При этом Excel запустится как OLE-сервер, а вызовы методов будут транслироваться в вызовы функций OLE-сервера. Это можно применить, в частности, для передачи данных и формирования отчетов своей программой внутри Excel, при этом Вам будет совершенно безразлично, как он это реализует и какова структура его электронных таблиц.

Допустим, Вы работаете в СУБД Visual FoxPro. Создайте новую программу (через меню «File/New», далее выберите «Program» и «New File») и сохраните ее под именем «UsingOLE.PRG». Краткий пример программы будет выглядеть следующим образом:
proc usingOLE
*создание объекта
MyObject= CREATEOBJECT(«Excel.Application»)
*инициализация объекта — запуск Excel
MyObject.Run
*сделать окно Excel видимым — необязательно
MyObject.Visible=.t.
*** Работа с объектом ***
*Открытие существующей книги
MyObject.Workbooks.Open(«C:Мои документыУчет тепла.xls»)
*Закрытие активной книги
MyObject.ActiveWindow.Close
*Создание новой
MyObject.Workbooks.Add
*Перенос данных в ячейку C7
MyObject.Range(«C7»).Value = 1234
*Выбор ячейки C8
MyObject.Range(«C8»).Select
*Присваивание формулы либо значения
MyObject.ActiveCell.FormulaR1C1 = «4321»
MyObject.Range(«C9»).FormulaR1C1 = «=SUM(R[-2]C:R[-1]C)»
*Сохранение под другим именем
MyObject.ActiveSheet.SaveAs(«C:Training.XLS»)
*выход из Excel
MyObject.Quit
return

Теперь запускайте свое творение через меню «Program/Do» и наслаждайтесь чувством превосходства.

Как нетрудно догадаться, можно записать свои ручные действия над таблицей Excel в виде макроса VBA, а потом с небольшими изменениями использовать полученный исходник в программе на Visual FoxPro, добавляя для каждого вызова метода имя своего OLE-объекта.

Если же Вы предпочитаете работать в MS Access и вызывать из него, скажем, Word, то будет еще проще. В своей базе данных создайте новый модуль, а внутри его запишите этот пример процедуры на языке Visual Basic:
Sub usingOLE()
Set MyObject = CreateObject(«Word.Application»)
MyObject.Visible = True
MyObject.Documents.Add
MyObject.Selection.TypeParagraph
MyObject.Selection.TypeText(«Hello world!»)
MyObject.ActiveDocument.SaveAs(«C:Мои документыHello world.doc)
MyObject.Quit
End Sub

Теперь в любом макросе своей БД Вы можете вызывать эту процедуру с помощью команды «ОткрытьМодуль».

Аналогично, Вы можете в любой среде разработки, поддерживающей OLE, запрограммировать работу с любым OLE-сервером.

Конечно, везде есть свои «НО». Во-первых, внутри макросов зачастую используются константы, специфичные для каждого конкретного приложения, значения которых явно не заданы и Вашей программе неизвестны. Чаще всего константы используются в методах форматирования документов. Это препятствие можно обойти. Например, в Excel достаточно будет програм-мно присвоить константу какой-нибудь ячейке — и она сразу же отобразит значение. Для этого создайте пустой макрос и введите в него следующий код:
Sheets(«Лист1»).Select
ActiveCell.Value = xlMinimized ‘константы состояния окна
Range(«A7»).Value = xlMaximized

Далее, через меню «Сервис/Макрос/Выполнить» запустите свой макрос и увидите результаты.

Во-вторых, не все методы объектов Office доступны извне. Я еще не встречал хоть какого-нибудь руководства, описывающего доступные методы в Office 97 (может, плохо искал:-), поэтому для каждого приложения в отдельности приходится применять метод проб и ошибок.

Небольшие примеры находятся в печатных томах «Руководства по программированию на Visual Basic for Applications», которое поставляется вместе с лицензионными копиями Office 97. Они достойны внимания программистов, начинающих штурмовать OLE уже после освоения объектного программирования в других языках. Кстати, в руководстве по Visual FoxPro они тоже есть, правда, на английском языке, что для большинства программистов, к сожалению, является непреодолимой преградой (примите мои соболезнования). Желаю успеха.

P. S. Приведенные выше примеры работают только с Office 97. Для ранних версий Office используются другие имена объектов и другие методы.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector