注册 登录
编程论坛 VB.NET论坛

Visual Basic.NET 引用 Excel 的 Range 的数组的下限值冲突

zfybs 发布于 2014-09-03 21:51, 2356 次点击
程序代码:
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Excel
Module Module1
    Sub main()
        Const fsiFilePath = "C:\测试.xlsx"
        Const ExportedRange As String = "B9:B17"
        Dim ExcelApp As Excel.Application
        ExcelApp = CreateObject("Excel.Application")
        ExcelApp.Visible = True
        Dim iWkbk As Excel.Workbook
        iWkbk = ExcelApp.Workbooks.Open(fsiFilePath, , True)
        Dim Wksht As Worksheet
        Wksht = iWkbk.Worksheets(1)
        Dim DataInRange(,) As Object
        DataInRange = Wksht.Range(ExportedRange).Value   
        '从下图中可以看出来,DataInRange是从(0,0)到(8,0)的数组。
        Debug.Print(LBound(DataInRange))    '返回值为1
        Debug.Print(UBound(DataInRange))    '返回值为9
        Dim a1 As Single = DataInRange(1, 1)   '返回局部列表中(0,0)位置的值
        Dim a2 = DataInRange(0, 0)           '报错:索引超出了数组界限
        iWkbk.Close()
        ExcelApp.Quit()
    End Sub
End Module

只有本站会员才能查看附件,请 登录
2 回复
#2
zfybs2014-09-03 21:52
为什么索引DataInRange的下限值是(1,1) ,而变量又显示以(0,0)开头?!!!
#3
燕之峰2014-11-13 13:52
我也在学习操作EXCEL
1