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)

这只是一个让你开始的例子,你将不得不适应它来解决你的实际问题

你能分享更多你的代码吗?另外,您是否尝试过使用脚本调试器单步执行代码?代码在哪一行出错?