【问题标题】:Lotus Notes - button automatic delete after running formulaLotus Notes - 运行公式后按钮自动删除
【发布时间】:2017-03-03 00:38:24
【问题描述】:

我需要在 Lotus Notes 邮件静止中创建一个按钮,该按钮将插入文本,然后从消息中删除该按钮。

在我拥有的按钮中:

res := @Prompt([OkCancelList]; "Is it OK?"; "Select result"; " ";"OK":"Failed":"");
@If(res ="OK"; 
    @Command([EditGotoField]; "Body") + @Command([EditInsertText]; "Everything is fine); 
    @Command([EditGotoField]; "Body") + @Command([EditInsertText]; "Not so good mate"));

这部分工作正常,但我不确定单击后如何删除按钮。通常有效 @Command([EditClear]) 但在这种情况下当我在公式中使用 @Command([EditGoToField]) 时无效。

我想我需要使用正确的按钮标识符再次使用 GoToField,然后运行 ​​EditClear,但我不知道在哪里可以找到它,或者是否有其他方法可以做到...想法?

谢谢。

【问题讨论】:

    标签: lotus-notes lotus-formula


    【解决方案1】:

    假设您在字段 Body 中有按钮,并且没有其他必须保留的按钮
    然后将您的代码更改为:

    @Command([EditGotoField]; "Body");
    @Command([EditSelectAll]);
    res := @Prompt([OkCancelList]; "Is it OK?"; "Select result"; " ";"OK":"Failed":"");
    @If(res ="OK"; 
         @Command([EditInsertText]; "Everything is fine"); 
        @Command([EditInsertText]; "Not so good mate"));
    

    它选择正文的内容(包括按钮)并用新文本替换它。

    【讨论】:

    • 理论上应该有效,并且 SelectAll 确实选择了消息中的所有内容,但是只有文本插入到开头,按钮保留在那里,没有任何内容被覆盖。
    • 它不仅仅在理论上有效 :) - 您是否仅使用我的代码对其进行了测试?我创建了一个新邮件,在正文字段中使用此代码创建了一个按钮,添加了一些其他文本并单击了按钮。它仍然只是按钮插入的文本,没有其他内容。
    • 是的,你是对的,我可能在某个地方犯了一个错误,现在可以了,谢谢。有没有办法只覆盖/删除按钮?或者如何只选择正文中指定的行数?
    • 仅使用 sendkeys()。但是 LotusScript 中的 sendkeys() 实现不起作用。您必须使用 Windows 的 sendkey()。但是,这很痛苦,可能不值得您为此付出努力。
    【解决方案2】:

    假设您的文档处于(或可以进入)编辑模式,您仍然可以拥有该按钮,但在其自己的段落(或表格单元格)中拥有该按钮,其隐藏时公式为 MySpecialButtonPressed!="",并且然后包含该行

    FIELD MySpecialButtonPressed := @Now;
    

    在按钮代码中。

    (编辑:将测试从=1 更改为!="",然后将设置值从1 更改为@Now,因为Notes 不存储布尔值。除非您发送数百万个这些值,否则使用日期而不是数字的成本低于获得更多具体信息以备不时之需的好处。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多