Lotus notes 如何在编辑模式下复制文档中的特定文本并将其添加到主题行?

Lotus notes 如何在编辑模式下复制文档中的特定文本并将其添加到主题行?,lotus-notes,lotusscript,lotus-formula,Lotus Notes,Lotusscript,Lotus Formula,我远非专家,但最近我对使用Lotus@Formula语言了解了不少,并为自己创建了一些非常有用的按钮。不幸的是,我很难对我最近创建的一个项目进行最后的润色,无论我做了多少搜索,我似乎都找不到任何东西来为我指明正确的方向 更具体地说,我想做的是转发一个便条,从邮件正文中提取一段文字,并在主题行中使用它。我转发的注释可以是备忘录,也可以是来自特定数据库的文档。当我从数据库转发文档时,我可以通过使用@GetField在转发之前获取特定字段的值来获取所需的文本。如果我只是直接从数据库中转发文档,那么首先

我远非专家,但最近我对使用Lotus@Formula语言了解了不少,并为自己创建了一些非常有用的按钮。不幸的是,我很难对我最近创建的一个项目进行最后的润色,无论我做了多少搜索,我似乎都找不到任何东西来为我指明正确的方向

更具体地说,我想做的是转发一个便条,从邮件正文中提取一段文字,并在主题行中使用它。我转发的注释可以是备忘录,也可以是来自特定数据库的文档。当我从数据库转发文档时,我可以通过使用@GetField在转发之前获取特定字段的值来获取所需的文本。如果我只是直接从数据库中转发文档,那么首先获取值就可以很好地工作,这很好,因为一旦我打开新的备忘录转发它,该字段就不再存在了

问题是,如果我正在转发其他人的电子邮件(已经从数据库转发了文档的人),我就没有机会首先获得所需的值,因为该字段已经不存在了。好消息是,我试图获取的字段的值列在我转发的备忘录的表中。不幸的是,我不知道如何突出显示和复制文本,以便粘贴到主题行。在我简单的头脑中,我想我只是需要一种方法来“找到”我需要复制的文本之前的静态文本,向右移动一个空格,高亮显示并复制从该点到单元格末尾的所有内容

基本上,我需要一种方法从身体上找到并复制一些东西,这样我就可以在主题行中使用它。我能做的最接近的事情就是使用EditDownEditRight命令将光标移动到指定位置。这种方法的问题是,我无法知道向下移动的正确行数。如果我转发的是原始文件,则以下类型的工作:

@Command( [EditGotoField]; "Body" ) ;
REM "The next line only works if the text is located exactly 33 lines down." ;
@Command( [EditDown]; "33" ) ;
@Command( [EditRight]; "29" ) ;
@Command( [EditDeselectAll] ) ;
REM "The next line only works if the text I need is three characters long." ;
@Command( [EditRight] ; "3" ) ;
@Command( [EditCopy] ) ;
@Command( [EditGotoField] ; "Subject" ) ;
@Command( [EditSelectAll]) ;
@Command( [EditInsertText] ; "The text I need is: " ) ;
@PostedCommand( [EditPaste] ) 
我之所以说“sort of”,是因为它选择文本的部分只有在我需要的文本恰好与我在代码中指定的字符数相同时才起作用。如果我需要的文本较长,它将无法获得全部内容。如果较短,光标将选择下一个单元格,然后复制一堆不必要的文本。我需要一种方法使其仅选择单元格的末尾(即,好像点击“Shift”+“end”)

我想也许我可以打电话给一个代理来执行这篇文章,但我在搜索LotusScript时找不到任何有用的东西

我还认为我转发的电子邮件可能有一些指向原始文档的链接,但我找不到任何东西。我的想法是,也许它可以找到原始文档,得到我需要的值,然后返回到注释


感谢您抽出时间阅读此文章。如果有人能帮忙,我会非常感激。

建议你看一下@Text或@Abstract,从备忘录的正文字段中获取文本,这将给你留下一个字符串要处理,你已经提到在想要的文本之前有一些静态文本,因此@middle可能是你的朋友。嗯

嗨,迈克,@Abstract最多可以处理64994个字节,这对于一封电子邮件来说应该足够了。您想要的字段实际上称为Body,请尝试

@摘要([TextOnly];64000;“;”正文)

我尝试将其分配给变量,只是为了发现公式字符串变量限制为1700个字符,所以我直接在@Middle中使用它

@中间(@Abstract([TextOnly];64000;“”;“Body”);“YourFixedText1”;“YourFixedText2”))

然后我在它周围包装了一个@Prompt进行测试

@提示([Ok];“测试摘录”;@Middle(@Abstract([TextOnly];64000;“;”Body”);“YourFixedText1”;“YourFixedText2”))


成功提取所需内容后,使用公式设置转发便笺的主题字段。

谢谢,OTTA。我不是想说你忘恩负义,但是你有没有可能给我一个例子,把正文中的一些文本放到一个字符串中?我已经对这三个公式做了很多搜索,但我找不到任何能让我朝着正确方向前进的东西。对于@Abstract函数,我很难找出参数。我知道语法是:@Abstract([keywords];size;beginext;bodyFields)(对不起,我被切断了。)我知道语法是:@Abstract([keywords];size;beginext;bodyFields)…但即使看了示例,我不知道应该用什么数字来表示尺寸,也不知道应该用什么来表示身体部位。奥塔,非常感谢你补充了你的答案。它几乎工作得很好。起初我很费劲,但最后我发现如果文档处于编辑模式,它就不起作用了(我只是不断得到一个空白提示)。不过,如果文档处于读取模式,它也可以工作。作为一种解决方法,我首先在读取模式下运行公式,并将其传递给字符串。打开回复后,它会将字符串完美地添加到主题行。唯一的问题是,无论我在“YourFixedText2”中使用什么文本,选择都会一直持续到最后。