Ole word что это
OLE — это механизм, позволяющий пользователям создавать и редактировать документы, содержащие элементы или объекты, созданные несколькими приложениями.
OLE изначально является акронимом для связывания и внедрения объектов. Однако теперь он называется OLE. Части OLE, не связанные с связыванием и внедрением, теперь являются частью активной технологии.
Документы OLE, исторические, называемые составными документами, легко интегрируют различные типы данных или компоненты. В качестве примеров компонентов, найденных в документах OLE, обычно используются звуковые клипы, электронные таблицы и точечные рисунки. Поддержка OLE в приложении позволяет пользователям использовать документы OLE, не беспокоясь о переключении между различными приложениями. OLE выполняет переключение самостоятельно.
Приложение-контейнер используется для создания составных документов, а также серверного приложения или приложения-компонента для создания элементов в документе-контейнере. Любое записываемое приложение может быть контейнером, сервером или обоими приложениями.
В состав OLE входят множество различных концепций, которые работают с целью беспрепятственного взаимодействия между приложениями. В число этих областей входят следующие.
Связь и внедрение
Связывание и внедрение — это два метода хранения элементов, созданных в документе OLE, которые были созданы в другом приложении. Общие сведения о различиях между ними см. в статье OLE Background: компоновка и внедрение. Более подробные сведения см. в статье контейнеры и серверыстатей.
Активация In-Place (визуальное редактирование)
Активация внедренного элемента в контексте документа-контейнера называется активацией на месте или визуальным редактированием. Интерфейс приложения контейнера изменяется для включения функций приложения компонента, создавшего внедренный элемент. Связанные элементы никогда не активируются на месте, так как фактические данные для элемента содержатся в отдельном файле вне контекста приложения, содержащего ссылку. Дополнительные сведения об активации на месте см. в статье Активация.
Связывание и внедрение и встроенная активация предоставляют основные возможности редактирования визуальных элементов OLE.
Автоматизация автоматизации позволяет одному приложению управлять другим приложением. Управляющее приложение называется клиентом автоматизации, а управляемое приложение называется сервером автоматизации или компонентом автоматизации. Дополнительные сведения об автоматизации см. в статье Клиенты автоматизации и серверы автоматизации.
Автоматизация работает как в контекстах OLE, так и в активных технологиях. Можно автоматизировать любой объект, основанный на COM.
Составные файлы предоставляют стандартный формат файлов, который упрощает структурированное хранение составных документов для приложений OLE. В составном файле хранилища имеют множество функций каталогов и потоков, имеющих множество функций файлов. Эта технология также называется структурированным хранилищем. Дополнительные сведения о составных файлах см. в разделе контейнеры статей: составные файлы.
Однородное Передача данных
Универсальный Передача данных (UDT) — это набор интерфейсов, позволяющих отправлять и получать данные стандартным образом независимо от фактического метода передачи данных. Определяемый пользователем тип формирует базу для передачи данных путем перетаскивания. UDT теперь выступает в качестве базиса для существующих Windowsных данных, таких как буфер обмена и динамический обмен данными (DDE). Дополнительные сведения о определяемых пользователем параметрах см. в статьях объекты данных и источники данных (OLE).
Перетаскивание — это простая в использовании методика прямого управления для переноса данных между приложениями, между окнами в приложении или даже в одном окне приложения. Данные, подлежащей передаче, выбираются и перемещаются в нужное место назначения. Перетаскивание основано на равномерной переносе данных. Дополнительные сведения о перетаскивании см. в статье перетаскивание.
Модель COM предоставляет инфраструктуру, используемую при взаимодействии объектов OLE друг с другом. Классы OLE MFC упрощают работу с COM для программиста. COM является частью активной технологии, так как объекты COM лежат в базе технологии OLE и Active. Дополнительные сведения о COM см. в разделах библиотеки активных шаблонов (ATL) .
Некоторые из наиболее важных разделов OLE рассматриваются в следующих статьях:
для получения общих сведений о ole, не найденных в указанных выше статьях, выполните поиск по запросу ole в Документация Майкрософт.
Для создания объекта автоматизации используйте программный идентификатор OLE (иногда называемый ProgID). В приведенных ниже таблицах перечислены программные идентификаторы OLE для элементов ActiveX и приложений Office.
Элементы ActiveX
Чтобы создать элементы управления ActiveX, перечисленные в таблице ниже, используйте соответствующий программный идентификатор OLE.
Для создания элемента управления | Используйте этот идентификатор |
---|---|
CheckBox | Forms.CheckBox.1 |
ComboBox | Forms.ComboBox.1 |
CommandButton | Forms.CommandButton.1 |
Frame | Forms.Frame.1 |
Image | Forms.Image.1 |
Label | Forms.Label.1 |
ListBox | Forms.ListBox.1 |
MultiPage | Forms.MultiPage.1 |
OptionButton | Forms.OptionButton.1 |
ScrollBar | Forms.ScrollBar.1 |
SpinButton | Forms.SpinButton.1 |
TabStrip | Forms.TabStrip.1 |
TextBox | Forms.TextBox.1 |
ToggleButton | Forms.ToggleButton.1 |
Microsoft Access
Чтобы создать объекты Microsoft Access, перечисленные в таблице ниже, используйте один из соответствующих программных идентификаторов OLE. При использовании идентификатора без суффикса с номером версии создается объект самой последней версии Access, доступной на компьютере, на котором выполняется макрос.
Для создания объекта | Используйте один из этих идентификаторов |
---|---|
Application | Access.Application |
CurrentData | Access.CodeData, Access.CurrentData |
CurrentProject | Access.CodeProject, Access.CurrentProject |
Microsoft Excel
Чтобы создать объекты Microsoft Excel, перечисленные в таблице ниже, используйте один из соответствующих программных идентификаторов OLE. При использовании идентификатора без суффикса с номером версии создается объект самой последней версии Excel, доступной на компьютере, на котором выполняется макрос.
Для создания объекта | Используйте этот идентификатор | Примечания |
---|---|---|
Application | Excel.Application | |
Workbook | Excel.AddIn | |
Workbook | Excel.Chart | Возвращает книгу, содержащую два листа, один для диаграммы, а другой для ее данных. Активным является лист диаграммы. |
Workbook | Excel.Sheet | Возвращает книгу с одним листом. |
Microsoft Graph
Чтобы создать Graph, перечисленные в следующей таблице, используйте один из соответствующих программных идентификаторов OLE. При использовании идентификатора без суффикса с номером версии создается объект самой последней версии Graph, доступной на компьютере, на котором выполняется макрос.
Microsoft Outlook
Чтобы создать объекты Microsoft Outlook, перечисленные в таблице ниже, используйте один из соответствующих программных идентификаторов OLE. При использовании идентификатора без суффикса с номером версии создается объект самой последней версии Outlook, доступной на компьютере, на котором выполняется макрос.
Для создания объекта | Используйте этот идентификатор |
---|---|
Application | Outlook.Application |
Чтобы создать элементы управления ActiveX, специфические для форм Outlook и перечисленные в следующей таблице, используйте соответствующий программный идентификатор OLE.
Для создания элемента управления Microsoft Office Outlook | Используйте этот идентификатор |
---|---|
OlkBusinessCardControl | Outlook.OlkBusinessCardControl |
OlkCategory | Outlook.OlkCategoryStrip |
OlkCheckBox | Outlook.OlkCheckBox |
OlkComboBox | Outlook.OlkComboBox |
OlkCommandButton | Outlook.OlkCommandButton |
OlkContactPhoto | Outlook.OlkContactPhoto |
OlkDateControl | Outlook.OlkDateControl |
OlkFrameHeader | Outlook.OlkFrameHeader |
OlkInfoBar | Outlook.OlkInfoBar |
OlkLabel | Outlook.OlkLabel |
OlkListBox | Outlook.OlkListBox |
OlkOptionButton | Outlook.OlkOptionButton |
OlkPageControl | Outlook.OlkPageControl |
OlkSenderPhoto | Outlook.OlkSenderPhoto |
OlkTextBox | Outlook.OlkTextBox |
OlkTimeControl | Outlook.OlkTimeControl |
OlkTimeZoneControl | Outlook.OlkTimeZone |
Microsoft PowerPoint
Чтобы создать объекты Microsoft PowerPoint, перечисленные в таблице ниже, используйте один из соответствующих программных идентификаторов OLE. При использовании идентификатора без суффикса с номером версии создается объект самой последней версии PowerPoint, доступной на компьютере, на котором выполняется макрос.
Для создания объекта | Используйте этот идентификатор |
---|---|
Application | PowerPoint.Application |
Microsoft Word
Чтобы создать объекты Microsoft Word, перечисленные в таблице ниже, используйте один из соответствующих программных идентификаторов OLE. При использовании идентификатора без суффикса с номером версии создается объект самой последней версии Word, доступной на компьютере, на котором выполняется макрос.
Для создания объекта | Используйте один из этих идентификаторов |
---|---|
Application | Word.Application |
Document | Word.Document, Word.Template |
Global | Word.Global |
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
В данной статье рассказывается, что такое OLE интерфейс, его простейшее применение. Также рассматривается, как с помощью него распространяются вредоносные программы в виде документов Microsoft Word на различные предприятия. Предлагается список мер, которые помогут уменьшить риск получения заражённого файла на компьютеры организации.
Ключевые слова: Microsoft Office, Word, OLE интерфейс, OLE объекты, информационная безопасность, вредоносные программы
В настоящее время в мире существует множество программ, разработчики которых относят свои продукты к разряду офисных. Наибольшую популярность набрал Microsoft Office. Самым массовым продуктом из этого набора является Microsoft Word. Им пользуются практически все как на домашних компьютерах, так и на компьютерах на предприятиях.
Microsoft Word (MS Word) — многофункциональная система обработки текстов, обладающая полным набором средств, необходимых для быстрого создания и эффективной обработки документов практически любой степени сложности. Но на редактировании текста его функционал не ограничивается. Расширяются возможности офисных программ семейства Microsoft с помощью различных дополнений, таких как Visual Basic для приложений, OLE объекты, ActiveX объекты и другие. Таким образом, MS Word — не только текстовый редактор, а ещё средство для выполнения самых разных алгоритмов, написанных на Visual Basic или запуска и связывания с документом различных программ.
Интерфейс OLE (Object Linking and Embedding — связывание и внедрение объектов) поддерживается множеством различных программ и используется для помещения документа, созданного в одной программе, в другую программу. Например, можно вставить документ MS Word в книгу MS Excel. Задача интерфейса OLE проста — создание промежуточного звена между программами для упрощения работы с различным программным обеспечением, поэтому OLE чаще всего используется тогда, когда обрабатываются составные документы с различными между собой системами. В данный момент OLE интерфейс используется в виде OLE объектов, которые зачастую представляют собой различные мультимедийные данные.
Алгоритм вставки объекта, который содержит ссылку на содержимое из другой программы очень прост:
- Открыть MS Word и определить место, где будет помещён OLE объект;
- На вкладке «Вставка» в группе «Текст» щёлкнуть «Объект»;
- Открыть вкладку «Создание из файла»;
- В поле «Имя файла» ввести имя файла или нажать кнопку «Обзор» для выбора файла из списка.
Существует два режима вставки объектов:
– Без связи с исходным файлом. Вставка содержимого указанного файла в документ происходит так, чтобы его можно было редактировать, используя приложение, в котором он был создан. Изменения в исходном файле не отображаются в OLE объекте, который вставлен в документ. Для этого имеется функция редактирования OLE объекта.
– Со связью с исходным файлом. Вставка содержимого файла в документ и создание связи с источником. Изменения в исходном файле будут автоматически отображаться в документе. Редактирование происходит в исходном документе.
В качестве OLE объекта может быть вставлен не только документ из линейки продукта Microsoft Office. Например, возможно вставить ссылку на простейший текстовый документ, изображение или PDF-документ. Особое внимание стоит уделить тому, что функционал OLE интерфейса позволяет вставлять таким же образом и исполняемые файлы, которые могут нанести вред операционной системе или отдельным файлам.
Таким образом, OLE объект и сам документ, созданный в Microsoft Word, может содержать в себе вредоносный код, который не будет детектироваться антивирусным программным обеспечением. Отсутствие каких-либо замечаний со стороны защищающих программ обуславливается тем, что вредоносный код создан полностью легальными средствами, а также потому что конечным результатом является документ формата «*.doс» или «*.docx» соответственно.
Вредоносный код, содержащийся в OLE объекте, выполняется не сразу. Для запуска исполняемого файла из документа MS Word необходимо кликнуть два раза по вставленному объекту. На данном этапе злоумышленники пытаются доказать жертве отсутствие подозрительного контента: рисунок стандартного объекта заменяется на изображение какой-либо таблицы, а над ней пишется просьба о том, что необходимо кликнуть на таблицу дважды (например, «Для просмотра таблицы кликните дважды на таблицу»). Для запуска исполняемого файла пользователь должен согласиться с запуском в вполне стандартном окне запуска. Пример вредоносного документа с OLE объектом представлен на рисунке 1.
Рис. 1. Демонстрация вредоносного документа с OLE объектом
В рамках любого предприятия неосведомлённые сотрудники могут пропустить предупреждение об открытии исполнительного файла, так как оно выглядит стандартно и пользователем нарочно пропускается в силу привычного интерфейса окна. Формату Microsoft Word чаще всего доверяют и не подозревают от него никакой вредоносной активности, что «играет на руку» злоумышленникам. Исходя из этого, шанс того, что сотрудник организации откроет документ и осуществит запуск вредоносного программного обеспечения, достаточно велик.
Безусловно, в интересах организации обезопасить компьютеры сотрудников. Для того, чтобы уменьшить (или вовсе исключить) риск заражения от данного способа распространения вредоносных программ предлагаются следующие меры:
– Использование аппаратных или программных средств защиты для фильтрации трафика электронной почты. Таким образом, письма с изменёнными заголовками будут отсеиваться или помечаться статусом «Подозрительно»;
– Своевременное и регулярное обучение сотрудников организации, а также их информирование о сценариях заражения, так как распространение вредоносных документов допустимо и без использования электронной почты;
– Использование относительно новой версии пакета Microsoft Office (2010 и выше). Последние версии данного продукта имеют в своём функционале «Защищённый просмотр», что уменьшает шанс того, что сотрудник откроет OLE объект. «Безопасный режим» позволяет открывать файлы и просматривать их в более безопасной среде (без использования макросов и дополнительных объектов).
Таким образом, стандартные легитимные средства редактирования документов могут служить распространителями различных программ без ведома пользователей. OLE объекты — это относительно новая ветвь развития в сфере вредоносных программ для предприятий. В конце 2016 года в адрес некоторых организаций уже начинают поступать такие документы, так как они отлично подходят для «доставки» вирусов-шифровальщиков или других вредоносных программ на компьютер жертвы руками обычных пользователей. А отследить, откуда пришло письмо с загадочным документом, зачастую не предоставляется возможным.
Основные термины (генерируются автоматически): OLE, вредоносный код, документ, исходный файл, программа, электронная почта, вредоносный документ, запуск, интерфейс, исполняемый файл.
Часть 2. Работа с OLE-сервером Word.
Аналогично как и в части 1 - поставим целью из приложения (контроллера автоматизации) создать документ изображенный на Рис 2.1. Он также типичен с точки зрения созданя прикладных программ, использующих для вывода информации Word и содержит три наиболее часто используемых составных элемента: текстовую информацию, таблицу и диаграмму.
Путь создания данного документа - это шаги, которые позволят освоить работу с OLE сервером Word.
Рис 2.1 Итоговый документ, сформированный контроллером.
2.1 Получение доступа к интерфейсу Application для Word.
1. Включить в проект модули:
2. Определить - лучше глобально (для наглядности и удобства) - переменные, отражающие иерархию объектов Word
Приложение->Набор документов->документ->Набор парагрофов-> Параграф->Строки
3. создать объект автоматизации:
Чтение значения свойства.
2.2 Интерфейсы и константы
Список интерфейсов и констант получаем при просмотре библиотеки типов Microsoft Word Object Library, открыв например файл MSWord9.olb (или другой в зависимости от версии Microsoft Offise). О пользовании библиотекой см. Ч 1. P 1.2.
Аналогично будем пользоваться сохраненным файлом MSWord9.idl и использовать так называемый " хитрый метод ".
1. Запустить Word.
2. Сервис/Maкрос/Начать запись
3. Выполннить последовательность нужных действий.
4. Остановить запись
5. Вызвать Visual Basic (Alt+F11)
2.3 Создание рабочего документа
Создаем новое приложение (File/New/Application) и сохраним его файлы в директории по умолчанию (Projects) c именами по умолчанию Unit1.cpp, Unit1.h, Unit1.dfm, Project1.cpp, Project1.bpr. Имена на данном этапе не цель, хотя не возбраняется создать новую директорию и дать приложению и файлам подходящие имена.
Переменные соответствующие используемым в программе объектам, а именно:
определим сразу все и глобально или в файле Unit1.h (в разделе private:) или перед функциями в Unit1.cpp, хотя для данного этапа требуются пока не все переменные и можно определить нужные и локально.
Переменная fStart служит индикатором того, что сервер запущен.
Разместим на форме как и ранее три кнопки (из вкладки Standart компонент Button). Подписывать кнопки также не будем (сейчас это тоже не цель), но запомним, что по первой кнопке будем работать с таблицей, по второй с диаграммой, а по третьей закрывать сервер и приложение. Выполним два клика по Button1 и Button3, создаем таким образом обработчики события нажатия кнопки.
Вторяя кнопка таким образом служит для выхода из программы и закрытия сервера.
2.3.1 Вывод текстовой информации.
На первом этапе выводим текст. Пусть на данном этапе необходимо вывести следующее.
Рис 2.2 Вывод текстовой информации.
В обработчике нажатия первой кнопки начнем формировать код программы.
Создаем Объект Word.Application.
О использовании try catch мы также уже говорили в Ч 1. п 1.3.
Сделаем приложение видимым.
Переменной vVarDocs присваивается значение Documents - свойство объекта Word.Application, содержащее набор рабочих документов.
Добавляем созданный документ в приложение - для этого надо выполнить вызов, прототип которого:
Пре NewTemplate true создается шаблон при false - документ.
Правильно для конретной версии Word создание документа записать как:
Посколько расположение шаблонов хранится для всех установленных типов документов в реестре, то для создания простого документа можно использовать установки по умолчанию и достаточно записать:
Этот вызов можно повторить столько раз сколько будет создано рабочих документов. Следует обратить внимание, что обратиться к документу после его создания можно по свойству Item следующим образом:
Здесь n=1 соответствует последнему созданному документу, n-1 предпоследнему, и. т.д.
Создаем, например 2 документа:
Проверяем, что создано два документа:
Будем работать с первым документом, как ни странно его Item = 2:
Смотреть будем тоже на первый документ - т.е. активируем его:
Получаем свойство Paragraphs объекта документ:
Задаем текст для вывода:
Работаем с первым параграфом:
Заносим в него текст:
Выравниваем по правому краю (wdAlignParagraphRight - по правому краю), по причинам описанным выше используем константы вместо имен переменных:
Аналогично выводим следующие параграфы, в том числе и пустые:
Результат с достоинствами и недостатками видим на рисунке. Видно, что фон белый, шрифт не такой как хотельсь бы, включена линейка, проверка орфографии и т.п.
Индивидуальный исследовательский проект по информатике "Технология OLE" направлен на изучение возможности использования программных средств технологии OLE и способов применения данной технологии в ОС Windows. Для испытания было рассмотрено применение OLE в программах MS Word и MS Excel.
Подробнее о проекте:
Творческая работа учащейся техникума о применении технологии MS Word и MS Excel направлена на получение автором общего представления о версиях и истории появления и развития технологии OLE. За основу учащаяся взяла такие версии технологии, как OLE 1.*, OLE 2.0 и ActiveX, и, изучив их, рассмотрела особенности их использования в программах текстовых документов.
Готовая творческая работа по информатике на тему "Технология OLE" демонстрирует этапы работы автора над использованием технологий OLE в работе с MS Word, где рассматривается вставка рисунка, вставка картинки, вставка фигуры, вставка снимка, вставка формулы, внедрение таблицы и внедрение объекта с помощью данной технологии. В рамках работы в MS Excel 2010 исследуется применение OLE в виде вставки надписи и внедрения объекта в файл.
Оглавление
Введение
1. Технология OLE.
2. Версии и история технологии.
2.1 OLE 1.*
2.2 OLE 2.0
2.3 ActiveX.
2.4. Применение OLEв MSWord 2010.
2.4.1 Вставка рисунка.
2.4.2 Вставка картинки.
2.4.3 Вставка фигуры.
2.4.4 Вставка диаграммы.
2.4.5 Вставка снимка.
2.4.6 Вставка формулы.
2.4.7 Внедрение таблицы.
2.4.8 Внедрение объекта.
2.5. Применение OLE в MSExcel 2010.
2.5.1 Вставка надписи.
2.5.2 Внедрение объекта (значок).
2.5.3 Внедрение объекта
Заключение
Литература
Введение
Все мы знаем о том, что при использовании современных редакторов можно воспользоваться сразу несколькими функциями, которые для данного редактора не являются основными. Так, например, установленная на персональном компьютере издательская система может послать некий текст на обработку в текстовый редактор, либо некоторое изображение в редактор изображений с помощью OLE-технологии.
Но не каждый пользователь задумывается, как на самом деле это работает. Здесь задействована особенная технология – OLE, позволяющая работать с данными, не предназначенными для данной программы, а также для работы и связи одной программы-процессора с другой программой-процессором.
Целью работы является: изучение возможности использования программных средств технологии OLE и способы применения данной технологии в ОС Windows.
Для достижения поставленной цели были сформулированы следующие задачи:
- изучить литературу по данной теме;
- изучить различные электронные источники по данной теме;
- изучить теоретические и практические сведениятехнологииOLE;
- определить среды применения данной технологии;
- научиться распознавать и отличать данную технологию;
- подвести итоги работы и сделать выводы.
Предметом исследования является: программная технология OLE.
Методы исследования: теоретический анализ источников, формализация, обобщение, описание.
Технология OLE
Технология OLE (ObjectLinkingandEmbedding) — этотехнология связывания и внедрения объектов в другие документы и объекты. Изначально, технология была разработана корпорацией Microsoft для своего продукта ОС Windows, а также для внедрения в отдельные дополнительные программы для ОС Windows, например, офисный пакет приложений MicrosoftOffice, где данная технология нашла более широкое свое применение.
OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты этой работы.Например, несмотря на главную цель текстового процессора MicrosoftWord, - работа с текстовыми документами,при использовании данного текстового процессорав документе можно не только вводить данные, но и создавать таблицы, вставлять картинки, фотографии, часть элемента из другой программы MicrosoftOffice (например, таблицу из MicrosoftExcel) и т. д.
Основное преимущество использования OLE (кроме уменьшения размера файла) — в том, что она позволяет создать главный файл, картотеку функций, к которой обращается программа. Этот файл может оперировать данными из исходной программы, которые после обработки возвращаются в исходный документ.
Читайте также: