2012-09-06 49 views
0

我試圖通過使用Lotus Script獲取當前用戶角色。我使用「評估」方法來獲取它,以便我可以與方程式語言一起使用。下面是代碼在lotusscript中使用評估

Dim test as Variant 

test = Evaluate("@UserRoles")  

If test = "[Administrator]" Then     
    Print "admin" 
Else 
    Print "Not admin" 
End If 

但是,當我試圖運行的代碼,我得到這個錯誤:「類型不匹配的方法CheckOperand:未知發現的,未知的期待」

燦蓮花的人誰專家腳本給我你的想法?

回答

3

Evaluate正在返回一個數組,因此您需要執行相應的檢查。

Dim roles as Variant 
roles = Evaluate("@UserRoles") 
Forall r in roles 
    If r = "[Administrator]" Then 
     Print "Admin" 
    End If 
End ForAll 
+0

您也可以在評估語句中進行檢查以進行更簡潔的測試,例如, hasAdminRole = Implode(評估(| @Contains(@UserRoles;「[Administrator]」))) –

+0

@Jon:是的,但我確信在實際應用中,您需要檢查幾種不同的用戶角色,那麼我的代碼更加靈活。當然,如果您正在尋找兩個或三個以上的值,** Select Case **語句比** If-Then **更好。 –

+0

謝謝卡爾。你是對的。 – tikarasha