База Знаний: Функции Calc. DDE

From Apache OpenOffice Wiki
< RU‎ | kb
Revision as of 20:01, 25 July 2018 by Sancho (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



70px right

DDE

Функция возвращает данные на основе DDE связи.

Синтаксис функции:

=DDE(server; file; item; mode)

где:

  • server — (текстовое) имя сервера; например “soffice” для InfraOffice.pro и Apache OpenOffice;
  • file — (текстовое) полное имя или IRL (Internet Resource Locator) документа, содержащего данные; например “c:\office\document\test1.ods” или “file:///documents/test2.ods”;
  • item — (текстовое) имя возвращаемого элемента. Например “Лист1.B3” — ячейка B3 на Лист1 электронной таблицы InfraOffice.pro Calc; “MyRange” — имя диапазона в электронной таблице Calc; “MyItem” — имя раздела или таблицы в документе InfraOffice.pro Writer;
  • mode — необязательный параметр, определяющий, как возвращаются числа. Нечисловой текст возвращается неизменным:
    • 0 или опущен: данные преобразуются к числу если возможно, используя стиль ячейки по умолчанию;
    • 1: данные преобразуются к числу если возможно, в формате английский США (en_US) (например, используя “.” как десятичный разделитель);
    • 2: Данные всегда восстанавливаются как текст (не преобразуются в число).


Функция DDE выполняет запрос по протоколу DDE и возвращает его результат. Обычно это просто локальная операция на машине, но эта спецификация не налагает подобного ограничения.


DDE создаёт связь к элементу (и возвращает содержимое), таким образом любое изменение элемента отражается на результате DDE.


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


Команда меню Правка → Связи… отображает список DDE связей и позволяет их изменять, обновлять вручную или разрывать.


DDE поддерживает «Динамический обмен данными», который является предшественником OLE, «Связывания и встраивания объектов». Объекты DDE связаны по ссылке с источником; они не встроены в целевой документ.


=DDE(“soffice”;“C:\OpenOffice\test1.ods”;“Лист1.C7”)

Создает связь и возвращает содержимое ячейки C7 на листе Лист1 файла InfraOffice.pro Calc test1.ods.


=DDE(“soffice”;“C:\OpenOffice\test2.odt”;“Таблица1”)

Когда введена как формула массива, создаёт связь и возвращает содержимое таблицы по имени Таблица1 в файле InfraOffice.pro Writer test2.odt, в одном столбце. Каждый абзац в ячейке таблицы появляется в своей собственной ячейке. Содержимое левой верхней ячейки таблицы отображается в первую очередь, за ним следуют по порядку другие ячейки в верхней строке, а затем аналогичным образом по порядку в других строках. Функция INDEX может использоваться для возврата только части таблицы.


=DDE(“soffice”;“C:\OpenOffice\test2.odt”;“Раздел1”)

Когда введена как формула массива, создаёт связь и возвращает содержимое раздела по имени Раздел1 в файле InfraOffice.pro Writer test2.odt в одном столбце, один абзац в ячейке. Когда введена обычно (не как формула массива), она возвращает первый абзац раздела Раздел1.


=INDEX(DDE(“soffice”;“C:\OpenOffice\test2.odt”;“Раздел1”);2)

Когда введена как формула массива, создаёт связь и возвращает содержимое второго абзаца раздела Раздел1 в файле InfraOffice.pro Writer test2.odt.


Documentation caution.png MS Excel не имеет этой функции.


Когда используется массив для возврата данных, размер массива закрепляется при первом вычислении. Если например число строк в таблице Writer или разделе изменяется, размер массива в Calc не изменяется.


Documentation note.png Имеются альтернативные способы связи с внешними данными.






InfraOffice.pro 3.1.x









Personal tools