#lotus-notes #lotus-formula
#lotus-notes #lotus-формула
Вопрос:
Я пытаюсь создать кнопку на панели инструментов, которая вставляет нижний колонтитул (включая некоторые кнопки) в текущую почту.
Насколько я знаю, нет способа создавать и изменять кнопки напрямую с помощью Lotus Formula, поэтому я пытаюсь скопировать / вставить из другого документа. Я не могу использовать шаблон почты, потому что мне нужно, чтобы текст вставлялся в ответы.
Это то, что я собрал из онлайн-примеров:
@PostedCommand([FileOpenDatabase]; "SERVER" : "mailbox.nsf" ;
"($All)" ; "" ; 1 ; 1 ) ;
@PostedCommand([OpenDocument] ; "" ; "34884517EED80C33C125A999005301D4") ;
@PostedCommand([EditDocument]) ;
@PostedCommand([EditGotoField] ; "Body" ) ;
@PostedCommand([EditSelectAll]) ;
@PostedCommand([EditCopy]) ;
@PostedCommand([FileCloseWindow]) ;
@PostedCommand([FileCloseWindow]) ;
@PostedCommand([EditPaste])
Это работает непоследовательно, в зависимости от того, на что я смотрю при нажатии кнопки.
Иногда открывается окно поиска с фактическим текстом письма, вставленным в него. Похоже, что новая почта закрывается.
Я особенно смущен, потому что многие команды не принимают никаких аргументов, например FileCloseWindow. Как мне управлять «контекстом» команд или проверять успешность?
Это похоже на автоматизацию с помощью SendKeys — запустить цепочку команд и надеяться, что ничего неожиданного не произойдет. Конечно, я полный новичок в Lotus Formula, поэтому, возможно, я делаю это совершенно неправильно. Приветствуется любая помощь.
Комментарии:
1. Дополнительный вопрос: каково значение двоеточия между
"SERVER"
и"mailbox.nsf"
в первой строке? Я потратил около получаса, пока, наконец, не заметил в документах, что одна из этих точек с запятой не похожа на другие…2. Двоеточие в аргументе SERVER : Database означает, что это список (а не два аргумента).
Ответ №1:
Возможно, вы захотите воспользоваться бесплатным приложением Алана Лепофски «Вставить информацию».
База данных Notes «Вставить информацию» служит хранилищем содержимого, которое вы хотите повторно использовать. Переместите курсор в положение, в которое вы хотите вставить текст, щелкните значок на панели инструментов «Вставить информацию», а затем выберите документ (он же. text) для вставки.
http://www.alanlepofsky.net/alepofsky/alanblog.nsf/dx/paste-information-application
Комментарии:
1. 1 На самом деле, я получил часть кода. Я почти уверен, что не смогу установить внешние базы данных, но я еще не пробовал интенсивно.
2. Вам разрешено использовать базу данных в вашем каталоге данных Notes (иначе Notes не работали бы), и вам разрешено создать кнопку на панели инструментов. Больше ничего не нужно.
3. Спасибо, это действительно сработало! Насколько это безопасно, вообще говоря? Являются ли приложения Notes каким-либо образом «изолированными»?
4. Это зависит от того, что вы подразумеваете под «безопасным». Вы, администраторы, могли бы запретить вам выполнять код, не подписанный ими (через ECL — списки управления выполнением), тогда БД не работала бы. Но немногие среды справляются с этой проблемой.
Ответ №2:
На самом деле для этого нет хорошего решения с использованием формул. Вы застрянете в мире, похожем на SendKey, который вы описываете.
Если вы можете хоть немного изменить шаблон почты, вы могли бы добавить к нему форму, содержащую ваш текст и кнопки, вместо того, чтобы брать его из центральной базы данных. Затем вы могли бы автоматизировать создание нового документа на основе этой формы, копирование содержимого и т.д. Это могло бы помочь автоматизации работать стабильно и, возможно, быстрее, поскольку она получала бы ресурс из своей собственной базы данных.
Вы также могли бы затем добавить общую кнопку действия ко всем почтовым формам (памятка, ответ и т.д.), Которая запускает эту формулу, что значительно упростило бы распространение.
Боюсь, что даже с LotusScript это невыполнимая задача, потому что вы не можете вставить форматированный текст в документ пользовательского интерфейса (или, по крайней мере, не в той версии, которую я запускаю).
Комментарии:
1. Ну, нижний колонтитул будет использоваться только в одном почтовом ящике — так что я могу сохранить шаблон / форму в той же базе данных. Файловая база данных предназначена только для подготовки к OpenDocument, потому что Notes нужен документ в текущем виде, чтобы открыть его (по крайней мере, я так предположил).
2. Я думаю, Кен прав насчет добавления форматированного текста в открытый документ с помощью формул. Вероятно, вам это сойдет с рук, если вам нужен только обычный текст, но лучшим вариантом было бы вставить дополнительный форматированный текст в документ до его открытия. (Агент Lotusscript, подключенный к кнопке пользовательского интерфейса, был бы здесь лучшим вариантом).