如何刮显示vb6中的Excel文档的所有内容
问题描述:
我做了一个程序来读取一个excel文档并将其显示在一个messageBox上。但是,事情是,我想要废弃所有的显示器到messageBox而不知道要选择哪一行或哪一列。我写了这样的代码:如何刮显示vb6中的Excel文档的所有内容
Private Sub Command1_Click()
On Error GoTo Err
StartExcel
Set ExcelWBk = Excel.Workbooks.Open(App.Path & "\Dataku.xls")
Set ExcelWS = ExcelWBk.Worksheets(1)
With ExcelWS
Dim i As Integer
Dim strData As String
For i = 1 To 5
strData = strData & .Cells(i, 1) & vbCrLf
Next i
End With
MsgBox strData
CloseWorkSheet
ClearExcelMemory
Exit Sub
Err:
ClearExcelMemory
End Sub
但它只返回到该列(第1列)的数据。我需要读取整个excel文件。
答
像这样的东西(在PowerPoint测试因为我不具备VB6)将电池拿到第一片电池的UsedRange
(使用效率数组)
PLS改变,以适应您的文件路径。
第一个版本 - 在PowerPoint测试
Sub GetData()
Dim objExcel As Object
Dim objWB As Object
Dim objws As Object
Dim X As Variant
Dim lngCol As Long
Dim lngRow As Long
Dim strOut As String
Set objExcel = CreateObject("Excel.Application")
On Error Resume Next
Set objWB = objExcel.Workbooks.Open("c:\temp\test.xlsx")
Set objws = objWB.Sheets(1)
On Error GoTo 0
If objws Is Nothing Then Exit Sub
'recalc usedrange
objws.usedrange
X = objws.usedrange
For lngRow = 1 To UBound(X, 1)
For lngCol = 1 To UBound(X, 2)
strOut = strOut & (X(lngRow, lngCol) & vbNewLine)
Next
Next
objWB.Close False
objExcel.Quit
Set objExcel = Nothing
If Len(strOut) > 0 Then MsgBox strOut
End Sub
VBS版本
Dim objExcel
Dim objWB
Dim objws
Dim X
Dim lngCol
Dim lngRow
Dim strOut
Set objExcel = CreateObject("Excel.Application")
On Error Resume Next
Set objWB = objExcel.Workbooks.Open("c:\temp\test.xlsx")
Set objws = objWB.Sheets(1)
On Error GoTo 0
If IsEmpty(objws) Then Stop
'recalc usedrange
objws.usedrange
X = objws.usedrange
For lngRow = 1 To UBound(X, 1)
For lngCol = 1 To UBound(X, 2)
strOut = strOut & (X(lngRow, lngCol) & vbNewLine)
Next
Next
objWB.Close False
objExcel.Quit
Set objExcel = Nothing
If Len(strOut) > 0 Then MsgBox strOut
它只是闪烁并没有发生 – user1072976 2012-02-06 07:11:53
你更新你的文件的路径? – brettdj 2012-02-06 08:33:35