Ari*_*iel 0 lotus-notes lotusscript button
我在 Notes 文档上有一个操作按钮。
\n我点击按钮后,会显示一条错误消息。我怎么解决这个问题?
\n以下是错误消息和代码:
\n[错误信息]
\n未设置对象变量。
\n[代码]
\nSub Click(Source As Button)\n Dim ws As New NotesUIWorkspace\n Dim uipr As NotesUIDocument\n Set uipr = ws.CurrentDocument\n If username(0) <> uipr.fieldgettext("PUR_DEPT_S01") And username(0) <> "SYSADMIN" Then\n Dim i As Integer\n Dim myflag As Variant\n myflag = False\n For i = 0 To Ubound(userrole)\n If userrole(i) = "[DO_ALL_ACTION]" Then\n myflag = True\n End If\n Next \n If myflag = False Then\n Messagebox "ERROR"\n Exit Sub\n End If \n End If\n \n If uipr.fieldgettext("PR_STATUS") <> "purchasing" Then\n Messagebox "PLEASE CHECK THE STATUS"\n Exit Sub\n Else\n Dim askme As Variant\n askme = ws.Prompt(PROMPT_YESNO, "CLOSE", "Sure to return the division\xef\xbc\x9f", "", "") \n If askme = False Then Exit Sub\n If uipr.EditMode = False Then uipr.EditMode = True\n End If\n Call ChangeField\n Msgbox "Change OK"\n uipr.Save\n uipr.Close\nEnd Sub\nSub ChangeField\n Dim DayNum As Integer\n DayNum=ComputeDayDiff(uipr.fieldgettext("REF_DATE"),TW_sys_date)\n Call uipr.fieldsettext("PR_STATUS","Divsion")\n Call uipr.fieldsettext("NEXT_PERSON","Division")\n Call uipr.fieldsettext("PUR_DEPT_S01","")\n Call uipr.fieldsettext("TPAY_DEPT_S01","")\n Call uipr.fieldsettext("BUYER","")\nEnd Sub\nRun Code Online (Sandbox Code Playgroud)\n
通过添加错误处理程序,您可以解决 LotusScript(以及许多其他编程语言)中的每个问题。
每个子函数和函数的第一行和最后一行应该类似于:
'- Very first error line
On Error Goto ErrorHandler
...YOUR CODE GOES HERE...
EndOfRoutine:
Exit Sub 'or Exit Function or Exit Property, depending on where you are
ErrorHandler:
'- print error message in status bar or log.nsf on server
Print Err & ", " & Error & " in line " & Erl & " in procedure " & GetThreadInfo( LSI_THREAD_PROC )
' or show it to user
MsgBox Err & ", " & Error & " in line " & Erl & " in procedure " & GetThreadInfo( LSI_THREAD_PROC )
Resume EndOfRoutine
Run Code Online (Sandbox Code Playgroud)
每当您现在运行代码时,它都会准确地告诉您错误发生在哪一行。从那里您可能可以推断出哪个对象变量未设置。该错误通常意味着变量(通常是 NotesXXX 类之一)未分配值。
我不会通读你的代码来猜测它可能是哪个变量。添加错误处理并自行查找,以免下次发生错误时束手无策。
这里又是破碎的记录(我一遍又一遍地写它):
永远不要在没有错误处理程序的情况下编写一行代码。
| 归档时间: |
|
| 查看次数: |
656 次 |
| 最近记录: |