For loop LotusScript-在for循环中设置元素
我已经设置了一个数组For loop LotusScript-在for循环中设置元素,for-loop,lotus-notes,lotusscript,For Loop,Lotus Notes,Lotusscript,我已经设置了一个数组 Dim managerList(1 To 50, 1 To 100) As String 我要做的是设置行中的第一、第二和第三个元素 managerList(index,1) = tempManagerName managerList(index,2) = tempIdeaNumber managerList(index,3) = 1 但是,当我尝试这样做时,会得到一个错误,即未设置对象变量。我将索引维护为整数,并且该值对应于单个管理器,但似乎无法手动设置第三个
Dim managerList(1 To 50, 1 To 100) As String
我要做的是设置行中的第一、第二和第三个元素
managerList(index,1) = tempManagerName
managerList(index,2) = tempIdeaNumber
managerList(index,3) = 1
但是,当我尝试这样做时,会得到一个错误,即未设置对象变量。我将索引维护为整数,并且该值对应于单个管理器,但似乎无法手动设置第三个元素。第一个和第二个元素设置正确
另一方面,我有以下代码,允许设置元素
For x=1 To 50
If StrConv(tempManagerName,3) = managerList(x,1) Then
found = x
For y=3 to 100
If managerList(x,y) = "" Then
managerList(x,y) = tempIdeaNumber
Exit for
End If
Next
Exit For
End If
Next
它在数组中旋转(横向),试图找到一个空元素。理想情况下,我希望将y变量所在元素的索引设置为行中的第三个元素,以记录行中有多少个想法
保持这样的计数最好的方法是什么?知道为什么在手动设置元素时出现对象变量未设置错误吗?
对象变量未设置
表示您试图调用未初始化对象的方法或访问其属性。我在您发布的代码片段中没有看到类似的内容,您确定错误发生在这些行中吗
锁定点错误的一个好方法是在错误消息中包含模块和行号。在子例程周围添加以下内容,以获得更详细的消息:
Sub Initialize
On Error Goto errorthrower
//
// your code goes here...
//
Exit sub
ErrorThrower:
Error Err, Str$(Err) & " " & Error & Chr(13) + "Module: " & Cstr( Getthreadinfo(1) ) & ", Line: " & Cstr( Erl )
End sub
(我最初是在博客上发现的)
现在还不太清楚你想解决什么问题,但看起来你有1..50个“经理”可以有1..100个“想法”?我会为经理们制作一个课程
:
Class manager
Private managername As String
Private ideas(1 To 100) As String
Sub new(managername As String)
Me.managername=managername
End Sub
// whatever methods you need....
End Class
然后,我会用这些对象的列表来跟踪它们:
Dim managerlist List As manager
Dim key As String
key = Strconv(tempmanagername,3)
if not iselement(managerlist(key)) then
set managerlist(key) = new manager(key)
end if
Dim currentmanager As manager
Set currentmanager = managerlist(key)
这只是一个让你开始的例子,你将不得不适应它来解决你的实际问题 你能分享更多你的代码吗?另外,您是否尝试过使用脚本调试器单步执行代码?代码在哪一行出错?