要讀取excel檔案內
1-100列*1-200欄全部儲存格的資料
到陣列data(100,200)
發現費時約30秒
是否有更快的方法
謝謝 worlonzeng 回答! 我用你的方法測試 vb2005無法宣告Dim Mx as variant 是否vb2005有所不同 還是我那裡做錯?????
還是?????? 可以宣告 dim mx as Object 但是Mx = Sheet1.[A1:IV200]會有錯誤 是否可以用vb2005的方法 寫出完整的程式 謝謝指導!!!!!
Dim Mx 可以宣告 但是 Mx = Sheet1.[A1:IV200]會有錯誤
程式如下: Dim i, j As Integer Dim newExcel As New Microsoft.Office.Interop.Excel.Application
With newExcel newExcel.Workbooks.Open(Filename:=d:\t1.xls) newExcel.Worksheets.Item(1).activate()
For i = 1 To 100 For j = 1 To 200 data(i, j) = newExcel.Cells(i, j).Value Next Next
newExcel.ActiveWindow.Close() newExcel.Quit() End With
迴圈處理用掉30秒 For i = 1 To 100 For j = 1 To 200 data(i, j) = newExcel.Cells(i, j).Value Next Next 沒錯 是否有更快的方法 等30秒真的很慢
另外請教!!!! newExcel.Workbooks.Open(Filename:=d:\t1.xls) 我該如何在開啟 d:\t1.xls 之前 檢查 d:\t1.xls 是否已經開啟中??????
如果不是使用中 才能開啟
錯誤出現在下面這一行程式 ExApp.workbooks.open("d:\t-1.xls") 我有放檔案在d:\t-1.xls 但執行時找不到檔案位置 我試著修改如下 ExApp.workbooks.open("d:\t-1.xls") 可以正常跑 但花費的時間一樣要30秒
只能宣告為string Dim data(i,j) as string 某些儲存格資料為字串 拆開讀取, 時間是一半 感謝幫忙