【问题标题】:VB6 Check if Excel Workbook is OpenVB6 检查 Excel 工作簿是否打开
【发布时间】:2018-07-10 15:30:54
【问题描述】:

我正在使用 VB6 开发一个项目(不,我无法迁移到 .NET),该项目涉及打开 Excel 文件并对其进行写入。

这一切都很好,没有太大问题,但是如果用户关闭 Excel 文件,我会收到以下错误:

运行时错误“1004”

对象“_Global”的方法“行”失败

这个错误的代码是:

Public Sub LogValues()
    Dim rowNum As Integer
    Dim tempNum As Integer
    rowNum = sheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
    tempNum = sheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
    'Other stuff
End Sub

显然,错误来自关闭的 Excel 工作簿并且不再存在于内存中。找到这个问题的解决方案是我目前的问题。

如何检查工作簿是否仍然打开,如果没有打开,请打开它?

【问题讨论】:

    标签: excel vb6


    【解决方案1】:

    尝试使用工作簿并在它关闭时捕获错误。

    sub workOnWb()
    
        on error goto not_open
    
        with workbooks("mybook1.xlsx")
            on error goto 0
            'work with it
        end with
    
        exit sub
    
        not_open:
            if err.number = 1004 then
                workbooks.open("c:\mybook1.xlsx")
                resume
            else
                debug.print err.number & ": " & err.description
            end if
    
    end sub
    

    您可以做的还有很多,但这涵盖了您的一般查询的基础知识。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      • 2014-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多