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

Ole объект excel

Помогите, знающие люди. Кто работал с OLE-интерфейсом в Buildere?Как вставить объект какой-нибудь в Excel на Buildere.Макрос в VBA выглядет так:

ActiveSheet.OLEObjects.Add(Filename:=»C:12405.cdw», Link:=False, DisplayAsIcon:=False).Select

Как тоже самое сделать на Buildere, с использованием таких функций как OlePropertyGet(), OleFunction(), .

Заранее спасибоОчень, очень нужно.

Добавление от 13.11.2002 07:35:

Не пойму, в чем дело. На строчке obj.Exec(. ) вываливается exception.

exception class EOleSysError with message ‘Недостаточно памяти для завершения операции’

На винте места достаточно, оперативки правда 128, но помоему ему на это пофигу.Странно. Может нужно под операцию выделить как-то память?*. Че-то совсем запутался.

Правда я вставлял BMP’шку, а Вы CDW’шку может быть проблема в этом?

Могу показать вариант не через OleCreate. а через _ApplicationDisp.

Интересное кино. Я пока тоже пытаюсь для начала вставить BMP-шку, потом мне необходимо вставлять любой объект. Может все дело в системе и Buildere: у меня Win2000SP2, BCB6, Excel2000 . Или в Excel 2000.

. а что такое _ApplicationDisp?Можно ли через него записывать в ячейку Excel, читать, вставлять объекты, ну и все остальное?Если не трудно покажите как это делается (вставка объекта). Возможно с ним у меня не будет таких проблем.Спасибо.

. а что такое _ApplicationDisp?Help -> C++ Builder Help -> Содержание -> Developing COM-based Applications -> Creating COM Clients -> Example: Printing a document with Microsoft Word -> Using a dispatch interface object.

потом мне необходимо вставлять любой объект.В качестве одного из параметров метода Add идет цитата: ClassType Optional Variant. (you must specify either ClassType or FileName). A string that contains the programmatic identifier for the object to be created. цитата (Prog2 Michael): Могу показать вариант не через OleCreate. а через _ApplicationDisp. Пример для Excel пока собрать не получается, оказалось сложнее чем для Word. В Word можно cделать так код: Придется копать видно самому. а времени нет. Давить не надо. Afaik помощь — дело добровольное.

Спасибо. Выяснилась одна интересная деталь. Вставка объекта в Excel программно через (OlePropertyGet) в связке BCB6+. — не работает!Похоже Borland че-то намудрил.BCB5+XP+2000Office — OK.

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

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

История появления

Предшественницей новой технологии является Dynamic Data Exchange – DDE, программа, которая работала по протоколу несинхронизированной связи. На практике это выглядело следующим образом: для установления канала связи между данными сервера после передачи запроса требовалось ожидание отклика. То есть, приложение должно было распознать возможные ошибки, существовал риск прерывания связи, тайм-аутов.

Для улучшения качества работы DDE требовалось новое решение, которое и воплотилось в технологии OLE.В чем ее сущность? Object Linking and Embedding (аббревиатура – OLE) – это возможность связывать и внедрять объекты, то есть, программа обеспечивает активацию нового объекта непосредственно в документе.

Новый принцип работы в буфере обмена (в области оперативной памяти, предназначенной для временного хранения созданного объекта) совершенствовался:

  • Версия 1.0 появилась в 1990 году и позволила оперировать активными соединениями между двумя документами и внедрять один в другой вне зависимости от типа (текст, фото и прочие). Поскольку первый вариант разрабатывался на базе DDE, то остались основные недостатки несинхронной связи (например, быстрое нарушение связи при изменении маршрута доступа).
  • Версия 1.1 дала возможность сохранять исходник в собственном формате, что позволило внедрять из буфера обмена скопированную часть другого документа.
  • Версия 2.0 фактически является надстройкой над архитектурой COM, резвившейся на базе версии 1.1. Component Object Model – это модель многокомпонентных объектов, которая обеспечивает объединение отличающихся по формату текстов, рисунков, фото из любых источников.
  • ActiveX – это современная версия OLE 2.0, которая была переименована в 1996 году. Изначально она использовалась при необходимости вставить мультимедийные данные.

На данный момент технология OLE занимается внедрением и связыванием составных документов, а группа ActiveX работает в глобальном масштабе: с приложениями, библиотеками, системным программным обеспечением.

Особенности

Технология определяет те COM интерфейсы, через которые интерпретатор языка будет общаться с объектом.

Технология поддерживает:

Типы данных OLE Automation (могут использоваться в свойствах, методах и событиях):

Другие типы данных (структуры, указатели не на COM объект, другие представления массивов и строк) технологией не поддерживаются.

Также технология поддерживает type libraries — информацию о типах свойств/методов/аргументов, доступную во время выполнения (нечто вроде Reflection в .NET).

Обычно технология разрешает имена свойств и методов при исполнении, никак не проверяя их на этапе разбора, и возбуждая ошибку «объект не поддерживает свойство или метод» только при исполнении (позднее связывание). Однако, если у объекта есть type library, зарегистрированная на машине, то в некоторых средах разработки можно объявить его так, что имена будут проверяться на этапе разбора. В Visual Basic это делалось операторами Dim o As Object (только позднее связывание) или же Dim o As Excel.Application (раннее связывание, но требуется установка Excel на машину построения и добавление Excel к списку использованных в проекте компонент).

На уровне языков Си/Си++ вызов OLE Automation выглядит как вызов IDispatch::Invoke, куда передаются преобразованные в константы строковые имена метода/свойства/аргументов, и значения аргументов, преобразованных в типы OLE Automation. Это крайне неудобно и вызывает расходы производительности, потому у многих объектов реализованы т. н. дуальные интерфейсы — потомки IDispatch, реализующие и Invoke (используется скриптами и в случае объявления As Object), ровно ту же функциональность через обычные COM методы (используется C++ и теми интерпретаторами, что понимают дуальные интерфейсы, как Visual Basic). При этом сохраняется ограничение на типы данных, приведенное выше. Библиотека ATL содержит в себе фреймворк поддержки дуальных интерфейсов.

Компилятор Microsoft C++ поддерживает директиву #import — включение type library (.tlb или же исполняемого файла, в который она вшита). При этом из исходного файла генерируются автоматически заголовки Си++, использующие средства comdef.h (смарт-пойнтеры на COM объекты и т. д.).

Цикл разработки объектов:

  • проектирование интерфейсов, с учетом ограничения на типы данных (нет структур и т. д.).
  • написание IDL файла (вручную или же с помощью визардов из Visual Studio).
  • написание классов, реализующих интерфейсы, объявленные в IDL.

Цикл построения объектов:

  • midl.exe компилирует IDL, создавая бинарный файл .tlb (type library, интерфейсы для извлечения информации из неё предоставлены oleaut32.dll), заголовок Си/Си++ и .c файл, в котором объявлены все GUIDы из IDL
  • .c файл с GUIDами строится вместе с проектом
  • заголовок включается в .c/.cpp файлы, содержащие реализацию класса
  • link.exe может вшить .tlb в создаваемый исполняемый файл (как ресурс 1 TYPELIB)

2.1 Внедрение

Один из методов использования данных исходного документа в целевом документе. Позволяет вставлять копию объекта из одного документа в другой без ссылки на исходный документ.

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

Для внедрение
OLE
-объекта в другое приложение необходимо:

  1. Открыть документ в исходном приложении.
  2. Скопировать внедряемые данные в буфер обмена.
  3. Открыть другое приложение.
  4. Нажать
    «Правка»
    и
    «Вставить»
    .
  5. Нажать
    «ОК»
    .

Рис. 8. Внедрение
OLE
-объекта из приложения
MathCAD
в
Excel

Как вызвать объект Ole и не ждать завершения его работы

​.​​.​​Какие же основные причины​ вылазила в свое​ но там по​ знаю в какую​​ ОЛЕ, копируй просто​ до первого выскакивания​ (ByVal hObject As​ dwX As Long​ будет вести работу.​в этом месте:​​Ждем, пока обновления будут​В открывшемся списке рекомендуемых​ все в порядке,​.​ Перемещаемся в каталог​Если стоят флажки напротив​После этого, в значительном​ вызывают данную ошибку?​ время ошибка «Неверно​ другому формируется открытие​ сторону думать.​ как рисунок.​ окна, а лучше​ Long) As Long​ dwY As Long​Далее из Excel​Set objword =​ установлены, и перезагружаем​ программ, выбираем Microsoft​ то переходим к​​Как уже говорилось выше,​«CurrentVersion»​ пункта​ числе случаев, проблема​ Можно выделить следующие:​ указана единица измерения»​ ворд.​Офис 2007. Все​Евгений Мультипликатор​ вообще отключить как​ Private Const NORMAL_PRIORITY_CLASS​​ dwXSize As Long​ вызываетса компонента вызванного​ New Word.Application​ компьютер.​ Excel. Делаем клик​ следующей надстройке, и​ одной из причин​по следующему пути:​«Запустить программу в режиме​ устраняется.​Повреждение надстройки;​ при нажатии кнопки​Достал старый бук​ обновления установлены. Виндоус​: Здравствуйте гуру и​ нить его нафиг​ = &H20& Private​ dwYSize As Long​ приложения которая в​With objword​Если ни один из​ по кнопке​ т.д. Ту надстройку,​ данной проблемы может​HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion​ совместимости»​Ещё одной вероятной причиной,​Попытка получить доступ к​ интервала. Лечится заменой​ с Видоус 7​ 8 тоже со​ другие форумчане.​Добавлено через 6 часов​ Const INFINITE =​ dwXCountChars As Long​ свою очередь проводит​.Application.WindowState = wdwindowstatemaximize​ перечисленных методов не​«OK»​ на которой ошибка​ быть неисправность какой-то​.​, или​ описанной выше проблемы,​ данным активного приложения;​ файла WWINTL.DLL в​ посмотрел настройки библиотек​ всеми обновлениями. Файл​Попробовал сформулировать проблему​ 25 минут​ -1& Public Sub​ dwYCountChars As Long​ ряд операций с​.Application.Visible = True​ помог решить проблему,​.​ вернулась, отключаем, и​ надстройки. Поэтому, как​Удаляем все папки, расположенные​«Выполнять эту программу от​ может быть включенный​Ошибки в системном реестре;​ директории С:Program FilesMicrosoft​ — все одинаковы,​ Экселя в 2003.​ в одно предложение​Решено.​ ExecCmd() Dim proc​ dwFillAttribute As Long​ Excel.​​.Application.Documents.Add​ то возможно есть​​В случае, если программы​ больше не включаем.​ временную меру, можно​ в директории​ имени администратора»​ режим совместимости. Для​Повреждение программы Excel.​ OfficeOffice121049.​ посмотрел код -​Что это может​ для поиска -​ThisApplication.DisplayAlerts = 0​ As PROCESS_INFORMATION Dim​ dwFlags As Long​При вызове компоненты​End With​ смысл задуматься о​​ Excel нет в​ Все остальные надстройки​ использовать отключение надстроек​«CurrentVersion»​, то снимаем их.​ того, чтобы отключить​ ​Пути устранения данной ошибки​Я вспомнил про​​ одинаков, на на​​ быть?​ не получилось. Сразу​ . ThisApplication.DisplayAlerts =​

Создание архивных файлов

Выполнив задания этой темы, вы научитесь:- упаковывать файлы в архив с помощью программы WinRAR;
— распаковывать файлы из архива.

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

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

    Архивный файл — файл, содержащий в сжатом виде один или несколько файлов и служебную информацию.

В результате сжатия информация будет представлена в новом виде. Степень сжатия будет зависеть от метода сжатия и от типа данных в файле. Эффективнее всего сжимаются текстовые и графические файлы. Архивный файл удобен при хранении, копировании и перемещении файлов. Однако в сжатом виде информация представлена так, что без предварительной обработки текст невозможно прочитать, рисунок невозможно посмотреть и т. д., поэтому для работы с информацией требуется ее обратное преобразование — разархивация.

    Архивация (упаковка в архив) — размещение исходных файлов в архивный файл.

    Разархивация (распаковка из архива) — восстановление файлов из архивного файла в том виде, какой они имели до помещения в архив.

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

Задание 1.55.

Используя программу-архиватор WinRAR, упакуйте в архив файлы различных типов. Проанализируйте результаты архивации. Удалите исходные файлы. Восстановите файлы из архивных.

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

• помещение файлов в архив;
• восстановление файлов из архива;
• помещение нескольких файлов в архив.

Технология работы

1. Создайте на диске С: папку Архивы и скопируйте в нее несколько файлов различных типов, например BMP, DOC, EXE.

2. Запустите программу — архиватор WinRAR, выбрав в меню Пуск команду Все программы ► WinRAR ► WinRAR.

3. Откройте в окне программы WinRAR папку Архивы (рис. 1.27).

4. Запакуйте в архив графический файл формата BMP:

• щелчком мыши выделите файл формата BMP в окне программы WinRAR;
• щелкните на кнопке Добавить (Добавить файлы в архив) на панели
инструментов — откроется окно, в котором можно уточнить настройки архивации (рис. 1.28);
• по умолчанию файлу архива назначается имя исходного файла; при необходимости
укажите другое имя для архива в поле Имя архива (рис. 1.28);

• выберите формат архивного файла — RAR или ZIP;
остальные параметры можно оставить без изменений;
• щелкните на кнопке ОК.

5. Сравните размеры исходного файла и архива; во сколько раз архив меньше исходного файла?

6. Заархивируйте текстовый файл (DOC), повторив действия, указанные в п. 4. Сравните размеры исходного файла и архива.

7. Заархивируйте исполняемый файл (ЕХЕ) и сравните размеры исходного файла и архива.

8. Удалите исходные файлы:

• выделите исходные файлы, щелкая на них мышью при нажатой кнопке Ctrl;
• щелкните на кнопке Удалить на панели инструментов.

9. Распакуйте из архива графический файл:

• выделите архивный файл, содержащий файл формата BMP;
• щелкните на кнопке Извлечь в
(Извлечь файлы из архива в указанную папку) на панели инструментов;
• в открывшемся диалоговом окне в поле Путь для извлечения
укажите папку Архивы в качестве папки, в которую следует
поместить распакованный файл (рис. 1.29);
• нажмите кнопку ОК.

10. Распакуйте из архива текстовый файл, повторив действия, указанные в п. 9.

11. Распакуйте из архива исполняемый файл.

12. Поместите в архив несколько файлов:

• в выделите несколько файлов, по очереди щелкая на них мышью при нажатой кнопке Ctrl;
• щелкните на кнопке Добавить на панели инструментов;
• в открывшемся окне в поле Имя архива укажите имя, например Группа файлов;
• выберите формат архивного файла, например ZIP;
• щелкните на кнопке ОК.

Задание 1.56.

Посмотрите информацию о размере исходных файлов и архивных файлов. Файлы какого типа сжимаются более эффективно, менее эффективно?

Вы здесь

Главная › Программы для работы с графикой › Adobe PageMaker › Глава 11. Связывание файлов

Преимущества и недостатки OLE

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

  1. Внедрение объектов OLE приводит к значительным затратам дискового пространства.

Примечание

  1. Редактирование OLE-объекта возможно средствами только одного приложения — OLE-сервера. Если вы перенесли публикацию на компьютер, где не установлен Adobe Illustrator, то отредактировать внедренный из него в публикацию OLE-объект будет невозможно. Если же использовалась технология PageMaker Links, то внешний файл можно отредактировать любой другой программой, понимающей формат AI.
  2. Поскольку OLE работает только с графическим представлением объекта, он не может занимать в публикации более одной страницы/разворота. То, насколько серьезно это ограничение, становится очевидно при редактировании таблиц с помощью Adobe TableEditor 3.0 (см. гл. 16).
  3. Встраивание объектов требует одновременной работы и программы-сервера и программы-клиента, что требует больших затрат оперативной памяти компьютера и вашего терпения. Кроме того, объект при этом находится в оперативной памяти в трех (!) копиях: в приложении-сервере, приложении-клиенте и в буфере обмена. Если изображение достаточно велико, то нехватка памяти может привести не только к очень продолжительному времени внедрения объекта, но и к краху системы.
  4. Изображение не может быть помещено в публикацию при отсутствии программы-сервера. Если бы не существовала технология PageMaker Links, то вам пришлось бы установить на своем компьютере отдельные программы для каждого из форматов файлов, с которыми приходится работать. Фильтры же позволяют импортировать изображения и без открытия их в какой-либо другой программе.
  5. Поскольку OLE-объект должен целиком храниться в публикации, при многократном его\использовании размеры файла публикации возрастают катастрофически.
  6. OLE-объекты иногда вызывают проблемы при выводе на печать, да и время их обработки принтером (фотонаборным автоматом) существенно дольше.
  7. И наконец, «где тонко, там и рвется». По нашему опыту заметим, что публикации с внедренными объектами обладают, значительно меньшей устойчивостью к программным и аппаратным сбоям. Используя их, вы во много раз увеличиваете риск потерять всю публикацию.

Надеемся, что приведенных доводов достаточно, чтобы склонить вас к использованию технологии Links там, где это возможно. В последней оговорке заключается единственное преимущество технологии OLE: с ее помощью можно помещать в публикацию изображения в форматах, для которых не существует специализированных фильтров импорта. Впрочем, при ближайшем рассмотрении это ограничение технологии PageMaker Links не должно затруднить вашу работу благодаря огромному количеству фильтров импорта и возможности перекодировок форматов с помощью внешних приложений.

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

От OLE к ActiveX

Первоначально OLE была задумана как технология интеграции программных
продуктов, входящих в комплект Microsoft Office. Предшественницей OLE является
реализованная в Windows технология динамического обмена данными DDE (Dynamic
Data Exchange), до сих пор широко применяемая в данной среде. Однако многие
разработчики не без оснований считают, что DDE трудно использовать, поскольку
это технология низкого уровня. По существу, DDE представляет собой модель
взаимодействия процессов — протокол, с помощью которого приложение может
организовать канал обмена данными с DDE-сервером, находящимся на той же машине.
DDE — это асинхронный протокол. Иными словами, после установления связи
вызывающая сторона передает запрос и ожидает возврата результатов. Такой
механизм более сложен, чем синхронный вызов функции, так как нужно учитывать
вероятность нарушения связи, тайм- ауты и другие ошибки, которые приложение
должно распознавать и исправлять. Низкая популярность DDE вынуждала Microsoft
искать различные способы его усовершенствования. Для упрощения наиболее сложных
аспектов протокола была предложена спецификация DDEML, но этого оказалось
недостаточно.

Несмотря на различия между низкоуровневой технологией системных объектов и
средствами интеграции компонентов высокого уровня, Microsoft попыталась
предоставить разработчикам объединенное решение. В качестве технологии более
высокого уровня была реализована OLE 1.0 OLE 1 (Object Linking and Embedding —
связывание и внедрение объектов). Она расширила возможности протокола DDE и,
используя его как базовый механизм коммуникаций, позволила активизировать
встроенный объект в документе, т. е. получить составной документ. Таким образом,
OLE 1.0 унаследовала многие проблемы асинхронного протокола. Эта технология
имела множество недостатков, а ее компоновка была слишком сложна для
пользователей среднего уровня. Кроме того, установленные связи легко нарушались,
например, в результате изменения маршрута доступа к файлу связанного объекта.

Первое воплощение OLE — OLE 1 — представляло собой механизм создания и работы
с составными документами (compound documents). С точки зрения пользователя,
составной документ выглядит единым набором информации, но фактически содержит
элементы, созданные двумя или несколькими разными приложениями. С помощью OLE 1
пользователь мог, например, объединить электронную таблицу, созданную Microsoft
Excel, с текстовым документом “производства” Microsoft Word. Идея состояла в
том, чтобы документо-ориентированная (document-centric) модель работы с
компьютером позволила бы пользователю больше думать об информации и меньше — о
приложениях, ее обрабатывающих. Как следует из слов “связывание и внедрение”,
составные документы можно создать, либо связав два разных документа, либо
полностью внедрив один документ в другой.

OLE 1, как и большинство первых версий программных продуктов, была
несовершенна. Архитекторам следующей версии предстояло улучшить первоначальный
проект. Вскоре они поняли, что составные документы — лишь частный случай более
общей проблемы: как разные программные компоненты должны предоставлять друг
другу сервисы? Для решения этой проблемы архитекторы OLE создали группу
технологий, область применения которых гораздо шире составных документов. Основу
OLE 2 составляет важнейшая из этих технологий — Модель многокомпонентных
объектов
(Component Object Model — СОМ). Новая версия OLE не только
обеспечивает поддержку составных документов лучше, чем первая, но и несомненно
идет куда дальше простого объединения документов, созданных в разных
приложениях. OLE 2 позволяет по-новому взглянуть на взаимодействие любых типов
программ.

Новые возможности многим обязаны СОМ, предоставившей общую парадигму
взаимодействия программ любых типов: библиотек, приложений, системного
программного обеспечения и др. Вот почему подход, предложенный СОМ, можно
использовать при реализации практически любой программной технологии, и его
применение дает немало существенных преимуществ.

Типы файлов OLE

Ассоциация основного файла OLE

.OLE

Формат файла: .ole
Тип файла: Microsoft Object Linking And Embedding Data

OLE Формат файла Структура данных позволяют передавать данные из одного приложения, которые будут храниться в документе другого приложения.

Создатель: Microsoft Corporation
Категория файла: Файлы данных
Ключ реестра: HKEY_CLASSES_ROOT\.ole

Программные обеспечения, открывающие Microsoft Object Linking And Embedding Data:

Microsoft Windows, разработчик — Microsoft Corporation

Совместимый с:

Windows

Microsoft Office, разработчик — Microsoft Corporation

Совместимый с:

Windows
Mac

Рис. 10

На Рис. 11 показано копирование объекта из MathCAD в Excel в режиме создания связи между документом сервера и составным документом. Обычным приёмом готовим формулу из MathCAD для копирования, т. е. выделяем формулу, правой кнопкой вызываем меню и активируем строчку Copy
.
Курсор наводим в нужное место рабочего листа Excel и щелкаем левой кнопкой мыши. Правой кнопкой мыши вызываем меню, в котором активируем строку Специальная вставка
(красная стрелка на рисунке). В окошке Специальная вставка
(Рис. 12) нажимаем кнопку Связать
и выбираем нужный формат (в поле Как
). Нажимаем кнопку ОК.
Формула из приложения MathCAD скопирована в приложение Microsoft Excel со связью.

Excel ожидает завершения OLE операции другим приложением — Вордом

​ Excel, переходим во​​ приложений»​ устранить.​

​ Решена самым необычным​ ответ тишина.​Посмотрел все библиотеки​ пользователю его восстановить​​ . ​ PROCESS_INFORMATION) As Long​ lpReserved As String​Из Excel по​​ Ms Office​ кнопку​

​«OK»​ изображений»​​Открывается Редактор реестра. В​​ вкладку​​. Жмем на кнопку​​Скачать последнюю версию​​ образом.​

​Пробовал найти по​ — пропущенных нет.​Xusinboy bekchanov​Или может возможно​ Private Declare Function​

​ lpDesktop As String​ Ole вызывается приложение​

​заглючил после перехода​«Установить обновления»​​«Изменить программу»​​. Проверяем, не вернулась​​. Кликаем по кнопке​​ левой части редактора​​«Совместимость»​

​В Ворде 2007​ ошибке. Нашел ,​Вобщем, даже не​​: Не копируй как​

​ увеличить время ожидания​​ CloseHandle Lib «kernel32″​

​ lpTitle As String​ в котором пользователь​​ на новый.​​.​​.​​ ли проблема. Если​​«OK»​​ расположено древо каталогов.​

Резюме файла OLE

У нас есть два существующие программные обеспечения, связанные с файлами OLE (как правило это программное обеспечение от Microsoft Corporation, известное как Microsoft Windows), и их можно отнести к категории основных типов файлов один. Традиционно эти файлы имеют формат Microsoft Object Linking And Embedding Data .
Чаще всего файлы OLE классифицируют, как Data Files.

Файлы с расширением OLE были идентифицированы на настольных компьютерах (и некоторых мобильных устройствах). Они полностью или частично поддерживаются Windows и Mac.

Рейтинг популярности данных файлов составляет «Низкий» и они обычно не используются.

Вставка объекта в электронную таблицу Excel

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки

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

Для удобства также приводим ссылку на оригинал (на английском языке).

Для включения содержимого из других программ, таких как Word или Excel, можно использовать связывание и внедрение объектов (OLE).

Технология OLE поддерживается многими различными программами, и технология OLE используется для создания содержимого, которое создается в одной программе, доступной в другой программе. Например, вы можете вставить документ Office Word в книгу Office Excel. Чтобы узнать, какие типы контента можно вставить, в группе текст на вкладке Вставка нажмите кнопку объект . В поле тип объекта отображаются только программы, установленные на вашем компьютере и поддерживающие объекты OLE.

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

Связанные и внедренные объекты в документе

1. внедренный объект не имеет соединения с исходным файлом.

2. связанный объект связан с исходным файлом.

3. исходный файл обновляет связанный объект.

Когда следует использовать связанные объекты

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

При использовании связанного объекта исходные данные сохраняются в исходном файле. В конечном файле выводится представление связанных данных, в котором хранятся только исходные данные (и размер объекта, если объект является диаграммой Excel). Исходный файл должен быть доступен на вашем компьютере или в сети для поддержания связи с исходными данными.

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

Использование внедренных объектов

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

Когда пользователь открывает файл на другом компьютере, он может просматривать внедренный объект без доступа к исходным данным. Так как внедренный объект не содержит связей с исходным файлом, объект не обновляется при изменении исходных данных. Чтобы изменить внедренный объект, дважды щелкните объект, чтобы открыть его и изменить его в исходной программе. Исходная программа (или другая программа, поддерживающая редактирование объекта) должна быть установлена на вашем компьютере.

Изменение способа отображения объекта OLE

Вы можете отобразить связанный объект или внедренный объект в книге так, как она отображается в программа-источник или в виде значка. Если книга будет просматриваться в Интернете и вы не планируете печатать книгу, вы можете отобразить объект в виде значка. Это уменьшает объем отображаемого пространства, занимаемого объектом. Для просмотра, в котором нужно отобразить сведения, дважды щелкните значок.

2.2 Перетаскивание объектов из одного приложения в другое

Данные и графику, выбранные в окне другого приложения, можно добавить в чертеж, перетаскивая их мышью по экрану. Как окно исходного приложения, так и окно другого приложения при этом должно быть открыто и не свернуто (Рис. 9). Перетаскивание между приложениями возможно, только если второе приложение поддерживает технологию ActiveX. Объекты, перенесенные таким образом, становятся внедренными (а не связанными). Обычное перетаскивание данных аналогично их последовательному вырезанию и вставке. Данные полностью удаляются из документа-сервера и вставляются в составной документ. Если же перетаскивание производится при нажатой клавише CTRL
, вместо вырезания осуществляется копирование; в составном документе создается копия данных, а исходный их вариант остается неизменным.

Рис. 9. Перетаскивание OLE
-объекта из MathCAD в Excel

Перспективы ActiveX и OLE

Итак, OLE — это набор стандартов для связи и внедрения объектов при создании
компонентов программного обеспечения. Одним из стандартов OLE является
спецификация модели составного объекта (или COM), основа для бинарных соединений
между компонентами.

Начав скромно, как способ создания составных документов, СОМ развилась в
фундаментальную основу прикладного и системного программного обеспечения. СОМ
получила такое широкое применение потому, что определяемая ею архитектура
предоставления сервисов — привлекательное решение массы проблем. Учитывая ее
универсальность и очевидные преимущества, описанные здесь применения СОМ, по
всей вероятности, только начало. Хотя общая марка, под которой выступают
технологии на основе СОМ, с течением времени изменялась от OLE к ActiveX, с
чисто технической точки зрения, это не имеет значения. Дело не в названии, а в
тех преимуществах СОМ и ее приложений, что продолжают повсеместно проявляться во
всей этой части мира информатики.

OLE позволяет увеличить степень интеграции между программными модулями и
служит для создания множества взаимозаменяемых компонентов программного
обеспечения. Набор услуг, которые предлагает OLE, не постоянен. Microsoft
постоянно модернизирует и расширяет операционную систему Windows, и точно также
она готова развивать OLE, чтобы адаптировать к широкому диапазону требованию по
интеграции приложений.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector