vbs中二维数组的使用(读写excel)

上一篇 / 下一篇  2015-07-29 19:56:50 / 个人分类:VBScript

'读取excel数据到二维数组
Function ReadFile(sFileName,sSheetName)
    Set Excel = CreateObject("Excel.Application")
    oExcel.Workbooks.Open(sFileName)
    Set Sheet = oExcel.Worksheets(sSheetName)
    rowcount=osheet.UsedRange.rows.count
    colunmcount=osheet.UsedRange.columns.count   
    dim arr
    redim arr(rowcount-1,colunmcount-1)
    for i=1 to rowcount
        for j=1 to colunmcount
              arr(i-1,j-1)=osheet.cells(i,j)
         next
    next
    oExcel.Quit
    Set Excel = Nothing
    ReadFile = arr
 End Function

-A4QtD!dqO0

;?sN3? s7m]4V%V0
arrRange = ReadFile("d:\test.xls","Sheet1")
for i=0 to ubound(arrRange,1)  'ubound(arrRange,1),1维的最大可用下标,表示行
 for j=0 to ubound(arrRange,2)  'ubound(arrRange,2),1维的最大可用下标,表示列
    print arrrange(i,j)
  next
next

&s7y,@s7CZ(f)y0
其实从excel读取数据,还可以用以下方法,比较简单些
       …………
       Set Sheet = oExcel.Worksheets(sSheetName).UsedRange
       ' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
       Set Range = oSheet.Range("A1:Z1000")
       '把Excel数据转换到数组
       arrRange = oRange.Value
51Testing软件测试网3`eRC(} O/z%E
      arrRange(1,1)表示第一行第一列,
51Testing软件测试网G~s#bB+y5y
同理,可以将二维数组写入到excel
    如:dim arr(1,1)
        arr(0,0)="第一行第一列":arr(0,1)="第一行第二列"
        arr(1,0)="第二行第一列":arr(1,1)="第二行第二列"
    ……  
    Set Sheet = oExcel.Worksheets(sSheetName).UsedRange
    Set Range = oSheet.Range("A1:B2")
    oRange.value=arr
    oExcel.WorkBooks.Item(1).save

TAG: Excel vbs VBS excel 二维数组

 

评分:0

我来说两句

Open Toolbar