0

我在工具栏中有一个按钮,可以将选定的文档邮寄到邮箱。问题是我不知道如何为每个选定的文档运行按钮公式代码。就目前而言,无论选择了多少文档,它都只会运行一次。这并不理想,因为用户经常有很多文件要邮寄。

无法创建代理来执行此操作,因为我无权访问数据库本身的开发访问权限。人们还告诉我,代码将为每个选定的文档运行,但我已经对此进行了测试,但它不是来自工具栏按钮。

提前致谢 :)

4

3 回答 3

1

有可能获得选定的文档并处理每个文档,而无需修改数据库,但这很棘手,我需要一些时间来弄清楚。

您在工具栏中的代码必须执行 @Command([Compose]; "" : "yourActionDb.nsf" ; "StartAction" )

数据库“yourActionDb.nsf”(在本例中为本地)必须有一个表单(此处称为 StartAction),这是诀窍:在表单的“QueryOpen”中,上下文仍然是视图......所以你可以使用如下代码:

Dim ws as New NotesUIWorkspace
Dim uiviw as NotesUIView
Dim dc as NotesDocumentCollection
Set uiviw = ws.CurrentView
If not uiviw is Nothing then
  set dc = uiviw.Documents
  ...your code comes here
End if

不幸的是,这个技巧在公式语言中是不可能的,因为只有代理才有可能对选定的文档采取行动,并且每个被调用的代理都会有错误的上下文......

之后您必须关闭此表单(尝试在 queryopen 中设置 continue = False 或稍后执行 uidoc.Close),但在这里您必须找出最适合您需要的表单。

于 2013-04-11T14:15:42.527 回答
0

我相信,如果您创建一个公式代理(与工具栏按钮的公式内容相同)并将目标设置为“选定文档”,那么在您的工具栏按钮中,添加:

@command([toolsrunmacro];"此处的代理名称或别名");

  • 它将针对每个选定的文档运行公式代理。将代理目标设置为 Selected Dcouments。
于 2013-09-24T11:05:36.413 回答
0

恐怕您的测试是正确的——您不能在选定的文档上运行工具栏宏。你需要一个代理。

于 2012-08-06T13:28:37.333 回答