2012-08-06 84 views
0

我在工具欄中有一個按鈕,可將選定的文檔郵寄到郵箱。問題是,我不知道如何使每個選定文檔的按鈕公式代碼運行。現在它只會運行一次,無論選擇多少個文檔。這是不理想的,因爲用戶經常有許多文檔要郵寄。使用Lotus Notes公式計算視圖中文檔的數量

由於我沒有訪問數據庫本身的開發權限,因此無法創建代理來執行此操作。人們也告訴我,代碼將爲每個選定的文檔運行,但是我已經測試過了,而且它不是從工具欄按鈕上運行的。

感謝提前:)

回答

0

恐怕你的測試是正確的 - 你不能運行在所選文檔工具欄宏。你需要一個代理商。

1

有可能獲得選定的文件和工作,而不必修改數據庫,但它是棘手的,我需要一些時間來弄清楚。

你的工具欄中的代碼已經做了 @Command([撰寫]; 「」: 「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 

不幸的是,這種訣竅在公式語言中是不可能的,因爲只有代理纔有可能對選定的文檔採取行動,並且每個被叫代理都會有e錯誤的上下文...

之後您必須關閉此表單(或者嘗試在queryopen中設置continue = False或稍後執行uidoc.Close),但在此您必須找出自己最適合您的需要。

0

我相信,如果你創建一個公式代理(相同的公式內容的工具欄按鈕),並設定目標在工具欄按鈕「選擇文件」,然後,添加:

@command([toolsrunmacro] 「代理名稱或別名在這裏」);

  • 它會針對每個選定的文檔運行公式代理。將代理目標設置爲Selected Dcouments。