Функция DDESend

С помощью функции DDESend можно начать сеанс DDE с другим приложением и отправить в него информацию из элемента управления в форме или отчете.

Например, вы можете воспользоваться функцией DDESend в свойстве ControlSource текстового поля, чтобы передать данные, отображаемые в этом поле, в заданную ячейку электронной таблицы Microsoft Office Excel 2007.

Синтаксис

DDESend ( приложение, документ, раздел, данные )

Функция DDESend имеет следующие аргументы:

Аргумент

Описание

приложение

Строковое выражение, которое определяет приложение, участвующее в сеансе DDE. Как правило, приложение — это имя EXE-файла (без расширения EXE) приложения Microsoft Windows, такого как Excel. Например, чтобы запустить сеанс DDE с приложением Excel, нужно задать для аргумента приложение значение "Excel".

документ

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

раздел

Строковое выражение, которое представляет имя элемента данных, распознаваемое приложением. Список допустимых разделов см. в документации приложения.

данные

Строка или выражение, содержащие данные, которые нужно отправить в приложение.


Замечания

Функция DDESend начинает сеанс DDE с приложением и документом и распознает раздел как элемент данных, который будет принимать данные. Например, если приложением является Excel, документом может быть "Sheet1", а разделом — идентификатор в виде номера строки и столбца, например "R1C1", или имя диапазона ячеек.

Аргумент данные определяет сведения, которые требуется передать. Это может быть символьная строка, например "Report prepared by John", или выражение, включающее в себя результат выполнения функции, возвращающей строку, например "Prepared on " & Date(). Если раздел связан с несколькими элементами данных, как в случае именованного диапазона листа Excel, содержащего несколько ячеек, функция DDESend отправляет данные в первую запись.

В следующем примере функция DDESend отправляет строку "Some text" в ячейку на пересечении строки 1 и столбца 1 листа Excel. Это выражение можно ввести для элемента управления "текстовое поле" в свойстве ControlSource на странице свойств элемента управления:

=DDESend("Excel", "Sheet1", "R1C1", "Some text")

Предположим, что вы хотите отправить данные из связанного элемента управления в форме Microsoft Office Access 2007 в ячейку электронной таблицы Excel. Свойство ControlSource связанного элемента управления уже содержит имя поля или выражение. Вы можете создать другое текстовое поле или поле со списком и указать в свойстве ControlSource выражение, содержащее функцию DDESend, в которой в качестве данных указано имя связанного элемента управления. Например, если у вас есть связанное текстовое поле LastName, вы можете создать другое текстовое поле и указать в его свойстве ControlSource следующее:

=DDESend("Excel", "Sheet1", "R1C1", [LastName])

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

Вы можете использовать функцию DDESend только в свойстве ControlSource текстового поля, группы переключателей, флажка или поля со списком в форме. Функцию DDESend невозможно вызвать из модуля Visual Basic для приложений (VBA).

При использовании функции DDESend элемент управления становится доступным только для чтения в режиме формы и предварительного просмотра. Так как свойство ControlSource также доступно только для чтения в режиме формы и предварительного просмотра, изменять элемент управления нужно через Конструктор.

Максимальное количество сеансов DDE, которые можно открыть одновременно, определяется памятью и ресурсами компьютера и Microsoft Windows. Если не удается начать сеанс, так как приложение не запущено или не распознает документ либо уже достигнуто максимальное количество сеансов, функция DDESend возвращает Null.

Примечание: Другое приложение может быть настроено таким образом, что будет игнорировать запросы на сеанс DDE. В этом случае функция DDESend возвращает значение Null. Кроме того, можно настроить Access таким образом, чтобы он игнорировал запросы от других приложений: в меню Файл выберите команду Параметры Access, в диалоговом окне Параметры приложения выберите пункт Дополнительно. В группе Операции DDE установите флажок Пропуск команд DDE.

Совет.    Для управления объектами других приложений из Access можно воспользоваться автоматизацией.

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

Элемент управления

Примечания

Текстовое поле или поле со списком

Поскольку в режиме формы и предварительного просмотра текстовое поле и поле со списком отображаются пустыми, для свойства Visible можно указать значение False.

Аргумент данные может ссылаться на другой элемент управления. Следующий пример иллюстрирует отправку содержимого элемента управления LastName на лист Excel:

=DDESend("Excel", "Sheet1", "R1C1", [LastName])

Группа переключателей

В режиме формы и предварительного просмотра не выбран ни один из переключателей в группе. Группу параметров (и ее переключатели) можно сделать невидимой, выбрав для свойства Visible значение False.

Аргумент данные должен содержать числовые данные, например "2". Если значение аргумента данные не является числовым, функция DDESend не будет отправлять сведения и раздел не изменится.

Флажок

Флажок недоступен в режиме формы и предварительного просмотра. Вы можете сделать его невидимым, задав для свойства Visible значение False.

Аргумент данные должен содержать числовые данные, например "2". Если значение аргумента данные не является числовым, функция DDESend не будет отправлять сведения и раздел не изменится.

Совершенствование навыков работы с Office
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×