Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA-内存不足错误(运行时7)_Excel_Vba_Lotus Notes - Fatal编程技术网

Excel VBA-内存不足错误(运行时7)

Excel VBA-内存不足错误(运行时7),excel,vba,lotus-notes,Excel,Vba,Lotus Notes,在excel中使用VBA时,我遇到了一个非常奇怪的错误。我使用LotusNotes自动化库循环浏览视图并将所有内容写入cell 这是我的代码(不感兴趣的变量被删除,因为我知道它们不会导致问题) 公共函数TimeCh() 端函数 因此,当行=1425,列为35时,它总是会失败。它给出“内存不足”(运行时7错误)。这不可能是硬件问题,因为系统非常稳定(双核,2G ram)。它总是在同一行崩溃 我搜索了一下,发现了一条相关的线索: 以前有人见过这样的事情吗?随机问题: 行是什么数据类型?如果将行定义

在excel中使用VBA时,我遇到了一个非常奇怪的错误。我使用LotusNotes自动化库循环浏览视图并将所有内容写入cell

这是我的代码(不感兴趣的变量被删除,因为我知道它们不会导致问题)

公共函数TimeCh()

端函数

因此,当行=1425,列为35时,它总是会失败。它给出“内存不足”(运行时7错误)。这不可能是硬件问题,因为系统非常稳定(双核,2G ram)。它总是在同一行崩溃

我搜索了一下,发现了一条相关的线索:

以前有人见过这样的事情吗?

随机问题:

  • 行是什么数据类型?如果将行定义为double,它还会崩溃吗

  • 根据你引用的链接(事实上,这是我的帖子),如果你将会话定义为一个静态变量,它还会崩溃吗

  • 即使您没有执行#2,您是否记得在函数结束时关闭会话

  • 这看起来只是一个更大函数的子集。连续调用多少次


  • 如果代码在视图中的同一文档和同一列上始终失败,这将使我相信这一文档存在一些数据问题。您能否捕获错误并显示失败文档的某些唯一标识符?我会尝试这样做,然后在视图的第35列中查找该文档并检查值。可能视图列中有一个返回@Error或类似值的计算,从而导致VBA代码抛出内存异常

    我让公司在我的电脑上安装了Excel2007。运行报告时没有出现任何问题,因此我猜这一定是2003年的内部错误。

    我可能对此感到遗憾,但您能展示整个过程吗?这就是全部代码。除非你想看到定义的变量(如dim语句),实际上,是的。我希望得到变量定义以及子行和结束子行,这样我们可以看到哪些变量是内部变量和外部变量。当我写这篇文章时,我脑子里没有任何解决方案,但它可能会有所帮助。1)它是一个字符串。2) 它不是静态的,但我会试试。3) 甚至到不了函数的末尾。4) 它遍历了所有的文档,大约6000个。我让公司在我的电脑上安装了Excel2007。运行报告时一点问题都没有,所以我想这一定是2003年的内部错误。我让公司在我的计算机上安装了Excel2007。运行报告时一点问题都没有,所以我想这一定是2003年的内部错误。Ed说得有道理。您能验证文档数据是否有效吗?
    Set session = New NotesSession 'create a new session (ask for user/pass)
    session.Initialize             'initialize the session (allow login)
    Set db = session.GetDatabase("HIDDEN") 'Grab the DB
    Set view = db.GetView("HIDDEN") 'Get the view
    
    
    
    
    Application.ScreenUpdating = False
    
    
    'start the loop to go through data
    While Not (entry Is Nothing)
        Cells(row, 1) = (entry.ColumnValues(4))
        Cells(row, 2) = (entry.ColumnValues(0))
        Cells(row, 3) = (entry.ColumnValues(26))
        Cells(row, 4) = (entry.ColumnValues(27))
        Cells(row, 5) = (entry.ColumnValues(22))
        Cells(row, 6) = (entry.ColumnValues(20))
        Cells(row, 7) = (entry.ColumnValues(29))
        Cells(row, 8) = (entry.ColumnValues(31))
        Cells(row, 9) = (entry.ColumnValues(30))
        Cells(row, 10) = (entry.ColumnValues(8))
        Cells(row, 11) = (entry.ColumnValues(7))
        Cells(row, 12) = (entry.ColumnValues(21))
        Cells(row, 13) = (entry.ColumnValues(19))
        Cells(row, 14) = (entry.ColumnValues(24))
        Cells(row, 15) = (entry.ColumnValues(25))
        Cells(row, 16) = (entry.ColumnValues(32))
        Cells(row, 17) = (entry.ColumnValues(28))
        Cells(row, 18) = (entry.ColumnValues(9))
        Cells(row, 19) = (entry.ColumnValues(12))
        Cells(row, 20) = (entry.ColumnValues(11))
        Cells(row, 21) = (entry.ColumnValues(23))
        Cells(row, 22) = (entry.ColumnValues(10))
        Cells(row, 23) = (entry.ColumnValues(2))
        Cells(row, 24) = (entry.ColumnValues(33))
        Cells(row, 25) = (entry.ColumnValues(1))
        Cells(row, 26) = (entry.ColumnValues(13))
        Cells(row, 27) = (entry.ColumnValues(5))
        Cells(row, 28) = (entry.ColumnValues(14))
        Cells(row, 29) = (entry.ColumnValues(6))
        Cells(row, 30) = (entry.ColumnValues(18))
        Cells(row, 31) = (entry.ColumnValues(16))
        Cells(row, 32) = (entry.ColumnValues(3))
        Cells(row, 33) = (entry.ColumnValues(15))
        Cells(row, 34) = (entry.ColumnValues(17))
        Cells(row, 35) = (entry.ColumnValues(34))
        row = row + 1
        Set entry = vec.GetNextEntry(entry)
    Wend
    Application.ScreenUpdating = True