当前位置: 代码迷 >> Lotus >> 代理在调试的模式下可顺利执行,普通执行却报错解决思路
  详细解决方案

代理在调试的模式下可顺利执行,普通执行却报错解决思路

热度:162   发布时间:2016-05-05 07:13:22.0
代理在调试的模式下可顺利执行,普通执行却报错
我添加了一个手工触发的代理,打印选中的业务中的内容。可是只能在调试打开的时候才能执行,并且一点错都没有;把调试关了,正常执行缺报“   Object   variable   not   set   ”的错误.代码贴出来,请高手指教。

Sub   Initialize
Dim   ws       As   New   NotesUIWorkspace
Dim   ss       As   New   NotesSession
Dim   uivw   As   NotesUIView
Dim   docs   As   NotesDocumentCollection

Dim   oName   As   NotesName
Set   oName   =   New   NotesName(ss.UserName)

Set   uivw   =   ws.CurrentView
Set   docs=uivw.Documents

If   docs.Count=0   Then
Msgbox   "请您选择要打印的档案! ",48
Exit   Sub
End   If

sDocUNID   =   " "
Dim   doc   As   NotesDocument
Set   doc   =   docs.GetFirstDocument()
While   Not(doc   Is   Nothing)  
sDocUNID   =   strConnect(sDocUNID,doc.NoteID, "; ") 'strConnect()函数是把参数2中的字符串加到参数1的字符串中,并用参数三的字符搁开,和join()差不多
Set   doc     =   docs.GetNextDocument(doc)
Wend

aDocUNID   =   Split(sDocUNID, "; ")
Forall   nid   In   aDocUNID
Set     doc   =   ws.CurrentDatabase.Database.GetDocumentByID(nid)
                  Call   writeOcertno(doc) '打印程序,该程序不会有错
End   Forall
End   Sub



------解决方案--------------------
在代理里面增加出错陷阱,看看到底那行出错了。。。
Object variable not set 这个是常见错误。。。

好像Set uivw = ws.CurrentView 这句有问题。
------解决方案--------------------
说说你分别是怎么执行代理的?什么叫调试,什么叫正式执行?

这个要看你执行环境的,因为用了ui类
  相关解决方案