私は専門家ではありませんが、最近、Lotus @Formula 言語の使い方についてかなり学び、自分用に非常に便利なボタンをいくつか作成しました。残念ながら、最近作成したものに最後の仕上げを加えるのに苦労しており、どれだけ検索しても、正しい方向に向ける何かを見つけることができないようです.
より具体的に言うと、私がやろうとしているのは、電子メールの本文からテキストの一部を取得し、それを件名に使用するメモを転送することです。私が転送しようとしているメモは、メモまたは特定のデータベースからのドキュメントのいずれかです。データベースからドキュメントを転送する場合、 @GetFieldを使用して転送する前に特定のフィールドの値を取得することで、必要なテキストを取得できます。データベースのドキュメントから直接転送するだけの場合、最初に値を取得することで完全に機能します。これは、新しいメモを開いて転送すると、そのフィールドがなくなるためです。
問題は、他の人 (データベースからドキュメントを既に転送した人) の電子メールを転送する場合、そのフィールドが既になくなっているため、最初に必要な値を取得する機会がないことです。幸いなことに、取得しようとしているフィールドの値は、転送しているメモの表に記載されています。残念ながら、そのテキストを強調表示してコピーし、件名に貼り付ける方法がわかりません。私の単純な考えでは、コピーする必要があるテキストの前にある静的テキストを「検索」し、1 スペース右に移動し、そのポイントから末尾までのすべてを強調表示してコピーする方法が必要だと考えています。細胞。
基本的に、件名で使用できるように、本文から何かを見つけてコピーする方法が必要です。最も近い作業は、EditDownおよびEditRightコマンドを使用してカーソルをその場所に移動することです。この方法の問題点は、下に移動する正しい行数を知る方法がないことです。元のドキュメントを転送する場合、次のような作業が行われます。
@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] )
「ある程度」と言うのは、テキストを選択する部分は、必要なテキストがコードで指定した文字数と同じ場合にのみ機能するためです。必要なテキストが長い場合、すべてを取得することはできません。短い場合、カーソルは次のセルを選択し、不要なテキストをコピーします。セルの最後までのみ選択する方法が必要です(つまり、「Shift」+「End」を押すかのように)。
この作業を実行するエージェントを呼び出すことができるのではないかと考えましたが、LotusScript に関する検索で役立つものは見つかりませんでした。
また、転送している電子メールに元のドキュメントへのリンクが含まれているのではないかと考えましたが、何も見つかりません。私の考えでは、元のドキュメントを見つけて、必要な値を取得して、メモに戻ることができるのではないかと考えていました。
これを読んでくれてありがとう。誰かが助けてくれれば、本当に感謝しています。