欢迎来到老马的领地~ 这是“压风式散热底座”发明者的个人网站:) 本人QQ:80524554,用户群1:562279766
不需要引用EXCEL,因为是后期绑定.当然会有性能损失,但是一般来说影响不大....

读出的内容放在了tmpVal()数组中,最小下标为1.

Public Function ReadExcel(ByVal sFileName As String) As Boolean
    '读EXCEL表格内容
    '
    'sFileName - EXCEL文件名,全路径.
    '成功返回TRUE,失败返回FALSE
    '
    Dim oXLSAPP As Object 'New Excel.Application
    Dim oWSheet As Object 'Worksheet
    Dim oRange As Object 'Range
    Dim tmpVal() As Variant, I As Long, J As Long
    
    On Error GoTo errH
    
    Set oXLSAPP = CreateObject("Excel.Application")
    DoEvents
    
    oXLSAPP.Workbooks.Open sFileName                        '打开EXCEL文件
    oXLSAPP.Workbooks(1).Activate
    
    Set oWSheet = oXLSAPP.Workbooks(1).Worksheets(1)
    oWSheet.Activate
    
    Set oRange = oWSheet.UsedRange                          '指定已使用的区域
    
'    With oRange
'        mColCount = .Columns.Count                          '获得列数
'        mRowCount = .Rows.Count                             '获得行数
        
'        ReDim sRange(mRowCount - 1, mColCount - 1)
'
'        For I = 0 To mRowCount - 1                          '循环方式获得内容
'            For J = 0 To mColCount - 1
'                sRange(I, J) = .Item(I + 1, J + 1)
'            Next
'        Next
'    End With
    
    tmpVal = oRange                                         '直接用数组获得内容
    
    For I = 1 To UBound(tmpVal, 1)
        For J = 1 To UBound(tmpVal, 2)
            Debug.Print tmpVal(I, J),
        Next
        Debug.Print
        If I = 3 Then Exit For                              '只显示前三行
    Next
    
    ReadExcel = True
    
errH:
    Set oRange = Nothing
    Set oWSheet = Nothing
    
    oXLSAPP.Workbooks.Close
    oXLSAPP.Quit
    Set oXLSAPP = Nothing
End Function
1 条评论
# 1: wantaox said:
2013-01-05 17:39:35
thanks!!!
添加评论

昵称 *

E-mail