我遠離專家,但最近我學習了很多關於使用Lotus @Formula語言的知識,併爲我自己創建了一些非常有用的按鈕。不幸的是,我試圖對最近創建的一個進行畫龍點睛的時候遇到了麻煩,無論我做了多少搜索,我似乎都找不到任何指向正確方向的東西。如何在編輯模式下從文檔中複製特定文本並將其添加到主題行?
更具體地講,我想要做的是向前邁出的注意,需要從電子郵件的正文某一段文字,並用它在主題行。我轉發的註釋可以是備忘錄或特定數據庫中的文檔。當我從數據庫轉發文檔時,通過使用@GetField,我可以通過獲取特定字段的值來獲取我需要的文本。如果我只是直接從數據庫中的文檔轉發數據,它通過首先獲取值很好地工作,這很好,因爲一旦我打開新的備忘錄轉發它,該字段就不再存在。
的問題是,如果我轉發別人的電子郵件(人誰已經從數據庫中轉發的文件),我一直沒有機會先得到我需要的,因爲這一領域已經走了價值。好消息是,我試圖獲得的領域的價值列在我轉發的備忘錄表中。不幸的是,我無法弄清楚如何讓文本突出顯示並複製,這樣我就可以將它粘貼到主題行中。在我簡單的想法中,我想我只需要一種方法來「找到」我需要複製的文本之前的靜態文本,將一個空格向右移動,並突出顯示並複製從該點到結尾的所有內容細胞。
基本上,我需要一種方法來查找並從體內複製的東西,所以我可以在主題行中使用它。我可以開始工作的最接近的事情是使用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很有幫助。
我也想,也許我轉發的電子郵件可能有一些鏈接返回到原始文件,但我無法找到任何東西。我的想法是,也許它可以找到原始文件,獲得我需要的價值並回到說明。
感謝您花時間閱讀本文。如果有人能幫忙,我會很感激。
謝謝OTTA。我的意思並不是要忘恩負義,但是你有沒有可能提供一個樣本,將身體的一些文字放入字符串中?我已經對所有三種公式進行了大量搜索,但是我找不到任何事情甚至讓我朝着正確的方向前進。 對於@Abstract函數,我很難找出參數。我知道這個語法是:@Abstract([keywords]; size; beginText; bodyFields) – Mike
(對不起,我被切斷了。 ) ...但即使在查看示例之後,我不確定應使用哪個數字作爲大小,我不確定要爲bodyFields使用什麼。 – Mike
非常感謝您爲OTTA添加答案。它幾乎完美地工作。起初,我一直在努力,但我最終發現,如果文檔處於編輯模式(我只是不斷收到空白提示),它不起作用。但是,如果文檔處於讀取模式,它確實有效。作爲一種解決方法,我首先在公式模式下運行公式並將其傳遞給字符串。打開回復後,它將字符串完美地添加到主題行。 唯一的問題是,無論我使用什麼文本「YourFixedText2」,選擇都會一直到最後。 – Mike