Приложение, с данными которого требуется установить связь, должно поддерживать динамический обмен данными (DDE).
1 Выделите ячейку, из которой требуется создать связь.
2
Введите формулу, используя следующие синтаксис: имя приложения; имя
документа или раздела документа; диапазон ячеек, значение, поле или данные, на
которые сделана ссылка.
Приведенный ниже пример иллюстрирует различные части формулы с удаленными
ссылками и используемые в ней разделители.
Знак (|) разделяет имя программы и имя документа или раздела. Восклицательный
знак (!) отделяет имя документа или раздела от диапазона, значения поля или
данных, на которые установлена ссылка.
3 Нажмите клавишу ENTER.
Примечание. Если имя приложения, документа, раздела или элемента данных содержит пробелы или специальные знаки формул, например двоеточие (:) или знак минуса (–), либо если имя имеет вид ссылки на ячейку, заключите его в апострофы
Пример1. Для связи с элементом (переменная x в рабочем пространстве MATLAB) через раздел Engine приложения MATLAB введите в ячейку Excel формулу:
=MATLAB|Engine!'x'
Ограничения.
Связь осуществляется с помощью макросов на Visual Basic for Applications (VBA) с использованием методов (функций и процедур для объектов ):
DDEInitiate
DDEExecute
DDERequest
DDEPoke
DDETerminate
Открывает DDE канал с приложением и возвращает номер канала.
DDEInitiate(App, Topic)
где
App (Тип- String). Имя приложения.
Topic (Тип- String). Имя раздела.
Пример1.Открывает канал связи с разделом Engine приложения MATLAB.
lngChannel = Application.DDEInitiate(App:="MATLAB", Topic:="Engine")
Пример 2.
Открывает канал связи с разделом документ Word с именем на диске C:\WINWORD\FORMLETR.DOC приложения MS Word.
channelNumber = Application.DDEInitiate( _
app:="WinWord", _
topic:="C:\WINWORD\FORMLETR.DOC")
Клиенты посылают команды MATLAB, используя DDE операцию DDEExecute,
Application.DDEExecute(Channel, Command)
или
Application.DDEExecute Channel, Command
где
Channel (Тип- Long). Номер канала, установленный с помощью метода DDEInitiate.
Command (Тип- String). Команда имеющая смысл приложении, куда посылается.
Пример1: Передача в MATLAB на выполнение команды присвоения значений матрице
lngChannel2 = Application.DDEInitiate(App:="MATLAB", Topic:="Engine")
Application.DDEExecute lngChannel2, "y=[1,2;2,4;3,6]"
Application.DDETerminate (lngChannel2)
Пример2 Передача в MS Word команды печати:
channelNumber = Application.DDEInitiate( _
app:="WinWord", _
topic:="C:\WINWORD\FORMLETR.DOC")
Application.DDEExecute channelNumber, "[FILEPRINT]"
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.