Передачи и приема данных по dde связи например слияние с программами ms office например winword
Среди множества пакетов прикладных программ офисного назначения наиболее популярным является пакет Microsoft Office. Во-первых, это связано с его функциональными возможностями и, во-вторых, с тем, что компания Microsoft – разработчик семейства операционных систем Windows (довольно распространенных) и MS Office логично вписывается в их интерфейс (кроме того, совместное выполнение ряда программ, входящих в MS Office , позволяет гибко распределять между ними ресурсы и работу, т.е. увеличивать общую производительность). MS Office включает несколько приложений, образующих единую среду для обработки самой различной информации, которая может встретиться в работе офиса. В его состав входят:
· текстовый процессор Microsoft Word;
· табличный процессор Microsoft Excel;
· пакет подготовки и демонстрации презентаций Microsoft PowerPoint;
· система управления базами данных Microsoft Access;
· организатор и планировщик работы Microsoft Outlook;
· программные инструменты для ведения малого бизнеса и др.
Перечисленные приложения тесно интегрированы. Это означает, что все программы, входящие в состав MS Office, имеют широкие возможности обмена данными. Например, если необходимо подготовить финансовый отчет по результатам некоторого периода, содержащий иллюстрации, то данные можно импортировать из Access, обработать в Excel, построить на их основе графики и диаграммы, а затем поместить их в текст документа, который создан в Word. Короче говоря, приложения MS Office допускают обмен любыми данными между собой. При перенесении отдельных объектов из одного приложения в другое помимо обычной операции копирования/вставки возможно использование технологии OLE (механизма связывания оригинального объекта и его копии). В этом случае при изменении исходных данных, например, в таблице Excel меняется построенная на их основе диаграмма, а вместе с ней и та копия диаграммы, которая содержится в документе Word. Это дает возможность эффективной работы с составными документами, в которых используются различные источники.
Пакет MS Office содержит набор инструментов, которые являются общими для всех приложений. К ним относятся механизмы проверки правописания и грамматики, средство для рисования, инструмент для создания оригинальных заголовков, редактор организационных диаграмм, инструмент для редактирования математических формул, библиотека картинок и другое (например, панели инструментов и даже меню, которые являются стандартными элементами любого приложения MS Office). Кроме того, в MS Office встроен универсальный язык разработки - Microsoft Visual Basic. Используя его, квалифицированный пользователь может создать собственное приложение, отвечающее каким-либо конкретным требованиям. Одна и та же программа написанная на языке Visual Basic может использовать объекты и документы из любого приложения MS Office.
MS Office тесно интегрирован с операционной системой. Работая в сетевых операционных системах, приложения MS Office поддерживают совместную групповую работу нескольких человек над общими документами (существует возможность использования материалов, расположенных не только на локальном диске рабочей станции, но и на соседнем компьютере или на сервере сети). Электронной таблицей Excel, или базой данных Access могут одновременно пользоваться несколько человек, а Word позволяет создать документ, над разными частями которого могут одновременно работать разные люди. Пакет подготовки и демонстрации презентаций PowerPoint допускает в реальном масштабе времени совместно использовать презентацию и обмениваться сведениями с людьми, находящимися в разных местах.
В MS Office входит приложение Microsoft Outlook, являющее собой инструмент для организации и планирования персональной деятельности (по замыслу разработчиков, это приложение должно занять центральное место в пакете и стать повседневным инструментом любого пользователя). Перечень его функций и способностей достаточно велик и включает: коммуникационный центр, электронную почту, факс, календарь и др. Но, главное, он связывает все приложения, выступая как средство организации работы с ними. С помощью Outlook можно назначить встречу, добавив в ее описание сопроводительный документ. Это может быть список вопросов (которые планируется обсудить) в формате Word или отчет о результатах в формате Excel. Можно переслать составленный документ по электронной почте и т.д.
Все приложения MS Office поддерживают работу с электронной почтой. При работе над документом, требующим корректуры нескольких людей, можно послать этот документ по почте в режиме последовательной рассылки. Как только один участник работы закончит вносить поправки, документ отправляется к следующему. После того, как документ обойдет всех указанных в рассылке людей, он возвращается к тому, кто его посылал. При этом все пометки и исправления будут отражены отдельным цветом для каждого участника совместной работы. Исправления можно просмотреть и решить, какие из них нужно принять, а какие отменить.
Принципы работы приложений пакета MS OFFICE
Следует сказать, что во все программные продукты семейства MS Office положены единые принципы их создания и совершенствования. Каждое базовое приложение MS Office (текстовый процессор Word , табличный процессор Excel , пакет подготовки и демонстрации презентаций PowerPoint , система управления базами данных Access) содержит общие команды, диалоговые окна и процедуры, что облегчает освоение приложений Office. Научившись пользоваться одним приложением, легко осваивать другие.
Запустить приложение MS Office можно разными способами, например: Пуск - Программы - и щелкнуть на нужное приложение Office. Все программы-приложения MS Office используют один и тот же базовый пользовательский интерфейс, а информация, выведенная на экран, появляется в стандартных окнах. Окно после запуска приложения может находиться в одном из трех состояний: развернутом (весь экран заполнен целиком), свернутом (в виде кнопки на панели задач), в нормальном (его можно перемещать на экране).
Элементы пользовательского интерфейса:
· строка заголовка содержит имя приложения MS Office, имя документа и кнопки управления для свертывания, развертывания и закрытия окна;
· строка меню содержит название меню, обеспечивающее доступ к определенной группе команд приложения;
· панели инструментов - один или несколько рядов с раскрывающимися списками и командными кнопками;
· полосы прокрутки служат для просмотра частей документа, не отображенных в данный момент в окне;
· строка состояния содержит информацию о клавишах переключения и о работе конкретной программы приложения.
В приложениях Office одновременно можно открыть несколько окон документов. Это позволяет быстро переходить от одного документа к другим (в конкретный момент времени активным является одно окно). Команды для управления работой с открытыми окнами собраны в пункте меню Окна. В нижней части этого меню содержится список открытых документов приложения, а в верхней - команды для открытия новых окон и упорядочения открытых. Кроме окон документов в приложениях Office существуют диалоговые окна (программа выводит их на экран тогда, когда ей нужна дополнительная информация для запуска команды). Через диалоговое окно пользователь общается с программой - они содержат один или несколько параметров, представленных в виде списков, кнопок и других компонентов.
В приложениях Office работа с документами осуществляется примерно одинаково (хотя документы в каждом приложении создаются в своем формате). Работа с документами на дисках сводится к их созданию, открытию, сохранению, закрытию, распространению документов в Internet, поиску документа.
Создать новый документ можно разными способами. В приложениях Word, Excel, PowerPoint, например, для этой цели из меню Файл выбирается команда - Создать. Диалоговое окно содержит вкладки (Новый документ, XML -документ, Web-страницы и др.) со стандартными шаблонами документов. Пользователь может выбрать тот шаблон, на основе которого и будет создан новый документ.
Открыть существующий документ можно следующим образом: если приложение Office запущено, то документ открывается из меню Файл - командой - Открыть (или щелчком на кнопку Открыть на панели инструментов Стандартная). При неоткрытом соответствующем приложении Office открыть документ можно через Главное меню.
В приложениях Office для сохранения (записи) файла на диске предназначены команды Сохранить и Сохранить как. Команда Сохранить (применяется, если файл уже имеет ИМЯ) вызывается из меню Файл (или щелчком на кнопку Сохранить на Панели инструментов). Для присвоения имени документу и указания дискового устройства и папки для хранения файла и формата документа файла предназначена команда Сохранить как, включенная в меню Файл (открывается диалоговое окно Сохранение документа, в котором задаются соответствующие параметры). По умолчанию Office помещает файл в текущую цапку, имя которой выведено в поле раскрывающегося списка.
Для публикации документа в локальных сетях и в Internet его сохраняют в формате Web-страницы (формат HTML). Публикация документа Office в виде Web-страницы осуществляется следующим образом:
· документ для сохранения должен быть открытым;
· в меню Файл - выбрать команду Сохранить как Web-страницу.
· щелкнуть по кнопке Сохранить (документ будет сохранен в виде Web-страницы).
Сохраненный файл как готовую Web-страницу можно распространять по локальной сети или по Internet. Перед распространением Web-страницы по сетям рекомендуется внимательно посмотреть, как она будет выглядеть в браузере (выполняется из меню Файл по команде - Предварительный просмотр Web-страницы) и уточнить все детали.
Документы закрываются командой Закрыть. Ее можно вызвать из меню Файл - Закрыть. Командой Закрыть закрывается только текущий (активный) документ. По команде из меню Файл - Выход за один шаг закрываются все открытые документы. Операционная среда Windows сохраняет вместе с содержанием документа информацию о размере, типе документа и дате последнего изменения для каждого файла в системе. При создании файла Office добавляет к каждому файлу уникальный ряд свойств. Для вывода на экран окна свойств подается команда из меню Файл - Свойства.
Если компьютер пользователя входит в локальную сеть, то работа связана с обменом информацией между компьютерами сети. Документ, предназначенный для пользования рабочей группой, помещается на сетевой диск, доступный для всех участников сети. С любого сетевого компьютера можно просмотреть сеть, перемещать файлы по ней с помощью окна Проводник Office (средство навигации и работы с файлами). Для этого необходимо:
· в приложении Office закрыть файл, подготовленный для рассылки;
· запустить программу Проводник Windows (кнопка Пуск – Программы – Проводник) и найти местоположение документа Office, подлежащего копированию в сети - выбрать команду Копировать (файл скопируется в буфер обмена);
· в левой стороне окна найти Сетевое окружение – открыть сетевой диск и найти папку, в которую хотим поместить файл;
· в окне Проводник подать команду из меню Правка – Вставить;
На сетевом диске будет записана копия файла, доступная для просмотра и пользования.
© 2014-2022 — Студопедия.Нет — Информационный студенческий ресурс. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав (0.012)
Microsoft Access поддерживает динамический обмен данными (DDE) в качестве приложения назначения (клиента) или приложения-источника (сервера). Например, такое приложение Microsoft Word как клиент, может запрашивать данные через DDE из базы данных Microsoft Access, которая действует как сервер.
Если вам нужно управлять объектами Microsoft Access из другого приложения, возможно, потребуется использовать автоматизацию.
Диалог DDE между клиентом и сервером устанавливается по определенной теме. Темой может быть либо файл данных в формате, поддерживаемом серверным приложением, либо тема System, которая поставляет сведения о самом приложении сервера. После начала беседы по определенной теме может быть передан только элемент данных, связанный с этой темой.
Например, предположим, что вы Microsoft Word и хотите вставить данные из определенной базы данных Microsoft Access в документ. Вы начинаете беседу dDE с Microsoft Access, открыв канал DDE с функцией DDEInitiate и указав в качестве темы имя файла базы данных. Затем можно передать данные из этой базы данных в Microsoft Word по этому каналу.
Как сервер DDE Microsoft Access поддерживает следующие темы:
Имя базы данных (тема базы данных)
Имя таблицы (тема имен таблицы )
Имя запроса (тема запроса )
Строка microsoft Access SQL (sqlstring topic)
После наладки беседы с DDE можно использовать заявление DDEExecute для отправки команды от клиента в приложение-сервер. В качестве сервера DDE Microsoft Access распознает любую из следующих команд:
Имя макроса в текущей базе данных.
Любое действие, которое можно выполнить Visual Basic с помощью одного из методов объекта DoCmd.
Действия OpenDatabase и CloseDatabase, которые используются только для операций DDE. (Пример использования этих действий см. в примере далее в этой теме.)
При указании макрос действия в качестве заявления DDEExecute действие и любые аргументы следуют синтаксису объекта DoCmd и должны быть заключены в скобки ([]). Однако приложения, поддерживают DDE, не распознают внутренние константы в операциях DDE. Кроме того, строки аргументы должны быть заключены в кавычках ("") если строка содержит запятую. В противном случае кавычка не требуется.
Клиентские приложения могут использовать функцию DDERequest для запроса текстовых данных из серверного приложения по открытому каналу DDE. Или клиент может использовать заявление DDEPoke для отправки данных в приложение сервера. После завершения передачи данных клиент может использовать заявление DDETerminate для закрытия канала DDE или DDETerminateAll для закрытия всех открытых каналов.
Когда клиентская приложение закончит получать данные по каналу DDE, оно должно закрыть этот канал для сохранения ресурсов памяти.
В следующем примере показано, как создать процедуру Microsoft Word с помощью Visual Basic Microsoft Access в качестве сервера DDE. (Для работы в этом примере необходимо запускать Microsoft Access.)
В следующих разделах приводится информация о допустимых разделах DDE, поддерживаемых Microsoft Access.
Тема "Система"
Тема System — это стандартная тема для всех Windows приложений, основанных на microsoft Windows. Он поставляет сведения о других темах, поддерживаемых приложением. Чтобы получить доступ к этой информации, код должен сначала вызвать функцию DDEInitiate с аргументом темы, а затем выполнить заявление DDERequest с одним из следующих аргументов элемента.
Список элементов, поддерживаемых темой System в Microsoft Access.
Список форматов, которые Microsoft Access может скопировать на буфер обмена.
"Занят или" "готов".
Список всех открытых баз данных.
В следующем примере показано использование функций DDEInitiate и DDERequest в разделе System:
Тема базы данных
Тема базы данных — это имя файла существующей базы данных. Вы можете ввести только базовое имя (Northwind), или его путь и расширение .mdb (C:\AccessSamplesNorthwind.mdb\\). После начала беседы dDE с базой данных можно запросить список объектов в этой базе данных.
Вы не можете использовать DDE для запроса информационного файла группы Microsoft Access.
Помимо работы с данными Word приложение может обмениваться данными с другими приложениями, такими как Excel, PowerPoint или Access. Вы можете общаться с другими приложениями с помощью автоматизации (ранее OLE Automation) или динамического обмена данными (DDE).
Автоматизация Word из другого приложения
Автоматизация позволяет возвращать, редактировать и экспортировать данные, ссылаясь на объекты, свойства и методы другого приложения. Объекты приложений, на которые может ссылаться другое приложение, называются объектами автоматизации.
Первым шагом на пути к предоставлению Word другому приложению для автоматизации является ссылка на объект Word Application . В Visual Basic вы используете функцию Visual Basic CreateObject или GetObject, чтобы вернуть ссылку на объект Word Application. Например, в процедуре Excel можно использовать следующие инструкции.
Это инструкция делает объект Application in Word доступным для автоматизации. С помощью объектов, свойств и методов объекта Word Application можно управлять Word. Например, в следующей инструкции создается новый документ Word.
Используйте свойство Видимый , чтобы сделать новый документ видимым после его создания.
Функция CreateObject запускает сеанс Word, который автоматизация не закрывается, когда истекает срок действия объектной переменной, ссылаемой на объект Application . Настройка ссылки объекта на ключевое слово Visual Basic Ничего не закроет Word. Вместо этого используйте метод Quit для закрытия приложения Word. В следующем Excel показан путь запуска Word. Метод Quit используется для закрытия нового экземпляра Word после отображения пути запуска.
Автоматизация другого приложения из Word
Чтобы обмениваться данными с другим приложением с помощью автоматизации из Word, сначала вы получите ссылку на приложение с помощью функции CreateObject или GetObject . Затем, используя объекты, свойства и методы другого приложения, вы добавляете, меняете или удаляете сведения. После внесения изменений закройте приложение. В следующем примере Word отображается путь Excel запуска. Используйте заявление Visual Basic set с ключевым словом Nothing для очистки переменной объекта, которая имеет тот же эффект, что и закрытие приложения.
Использование динамического обмена данными (DDE)
Заметка о безопасности
Задача | Способ |
---|---|
Запуск DDE | DDEInitiate |
Получение текста из другого приложения | DDERequest |
Отправка текста в другое приложение | DDEPoke |
Проведение команды в другом приложении | DDEExecute |
Закрыть канал DDE | DDETerminate |
Закрыть все каналы DDE | DDETerminateAll |
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
В этом разделе приведены примеры кода для следующих задач:
Инициация диалога
В следующем примере показано, как клиент инициирует диалог, где указаны и приложение, и раздел.
Если приложение использует атомы null , не нужно использовать функции глобаладдатом и глобалделетеатом . В этом примере клиентское приложение создает два глобальных атома, содержащие имя сервера и имя раздела соответственно.
После возврата SendMessage клиентское приложение удаляет глобальные атомы.
Серверные приложения реагируют в соответствии с логикой, показанной на следующей схеме.
Если клиентское приложение использует в качестве имени приложения или раздела значение NULL Atom, приложение должно получить подтверждения от нескольких серверных приложений. Несколько подтверждений также могут поступать из нескольких экземпляров сервера DDE, даже если клиентское приложение не имеет значений , применяющих атомы. Для каждого диалога сервер всегда должен использовать уникальное окно. Процедура окна в клиентском приложении может использовать для наблюдения за несколькими беседами обработчик для окна сервера (предоставленного в качестве параметра lParam для _ _ запуска WM DDE). Это позволяет одному клиентскому окну обрабатывать несколько диалогов, не требуя завершения и повторного подключения с новым клиентским окном для каждого диалога.
Передача одного элемента
Получение элемента с сервера
В этом примере клиент указывает формат буфера обмена в формате CF _ в качестве предпочтительного формата для запрошенного элемента данных.
В этом примере серверное приложение выделяет объект памяти для хранения элемента данных. Объект данных инициализируется как структура ддедата .
Затем серверное приложение устанавливает в качестве элемента кфформат структуры текст CF, _ чтобы информировать клиентское приложение о том, что данные находятся в текстовом формате. Клиент отвечает, копируя значение запрошенных данных в элемент value структуры ддедата . После того как сервер заполнит объект данных, сервер разблокирует данные и создаст глобальный объект Atom, содержащий имя элемента данных.
Поскольку разблокировка данных делает указатель на данные недействительным, клиент сохраняет значение члена фрелеасе перед разблокировкой объекта данных. После сохранения значения клиент проверяет его, чтобы определить, запросил ли клиентское серверное приложение освобождение памяти, содержащей данные. Клиент действует соответствующим образом.
Если сервер поддерживает элемент formats системного раздела, клиент может определить, какой именно формат буфера обмена поддерживает сервер, а не определять их каждый раз, когда клиент запрашивает элемент.
Отправка элемента на сервер
Установка постоянного канала данных
Клиентское приложение может использовать DDE для установки ссылки на элемент в серверном приложении. После того как такая связь установлена, сервер отправляет периодические обновления связанного элемента клиенту, как правило, при каждом изменении значения элемента. Таким словами, между двумя приложениями устанавливается постоянный поток данных; Этот поток данных остается на месте до тех пор, пока он не будет явно отключен.
Инициация связи с данными
В общем случае клиентские приложения не должны пытаться одновременно устанавливать несколько ссылок на один элемент данных.
Запуск связи с данными с помощью команды «вставить ссылку»
Серверное приложение поддерживает формат буфера обмена Link, помещая в буфер обмена строку, содержащую имя приложения, раздела и элемента, когда пользователь выбирает команду Копировать в меню Правка . Ниже приведен стандартный формат ссылки.
Один символ NULL отделяет имена, а два пустых символа завершают всю строку.
Клиентские и серверные приложения должны зарегистрировать формат буфера обмена ссылок, как показано ниже.
Ниже приведен пример ответа клиентского приложения, когда пользователь выбирает команду Вставить ссылку.
После того как клиентское приложение получит указатель на данные буфера обмена, он анализирует данные для извлечения имен приложения, раздела и элемента.
Уведомление клиента об изменении данных
Завершение связи с данными
Выполнение команд в серверном приложении
Завершение диалога
Приложение, с данными которого требуется установить связь, должно поддерживать динамический обмен данными (DDE).
1 Выделите ячейку, из которой требуется создать связь.
2 Введите формулу, используя следующие синтаксис: имя приложения; имя документа или раздела документа; диапазон ячеек, значение, поле или данные, на которые сделана ссылка.
Приведенный ниже пример иллюстрирует различные части формулы с удаленными ссылками и используемые в ней разделители.
Знак (|) разделяет имя программы и имя документа или раздела. Восклицательный знак (!) отделяет имя документа или раздела от диапазона, значения поля или данных, на которые установлена ссылка.
3 Нажмите клавишу ENTER.
Примечание. Если имя приложения, документа, раздела или элемента данных содержит пробелы или специальные знаки формул, например двоеточие (:) или знак минуса (–), либо если имя имеет вид ссылки на ячейку, заключите его в апострофы
Пример1. Для связи с элементом (переменная x в рабочем пространстве MATLAB) через раздел Engine приложения MATLAB введите в ячейку Excel формулу:
=MATLAB|Engine!'x'
- При изменении значения переменной x в MATLAB содержимое ячейки Excel автоматически не обновляется. Для обновления значения требуется выделить данную ячейку и нажать клавишу .
- Если x –матрица, то в ячейку Excel будет передан только элемент x(1,1).
Использование Visual Basic для MATLAB Сервера DDE
Связь осуществляется с помощью макросов на Visual Basic for Applications (VBA) с использованием методов (функций и процедур для объектов ):
Инициализация канала связи (VBA DDEInitiate метод)
Открывает DDE канал с приложением и возвращает номер канала.
DDEInitiate(App, Topic)
App (Тип- String). Имя приложения.
Topic (Тип- String). Имя раздела.
Пример1.Открывает канал связи с разделом Engine приложения MATLAB.
lngChannel = Application.DDEInitiate(App:="MATLAB", Topic:="Engine")
Открывает канал связи с разделом документ Word с именем на диске C:\WINWORD\FORMLETR.DOC приложения MS Word.
channelNumber = Application.DDEInitiate( _
Посылка команд к MATLAB для выполнения (VBA DDEExecute метод)
Клиенты посылают команды MATLAB, используя DDE операцию DDEExecute,
Application.DDEExecute(Channel, Command)
Application.DDEExecute Channel, Command
Channel (Тип- Long). Номер канала, установленный с помощью метода DDEInitiate.
Command (Тип- String). Команда имеющая смысл приложении, куда посылается.
Пример1: Передача в MATLAB на выполнение команды присвоения значений матрице
Читайте также: