用Excel对象来操作。要在References...那里引用 Excel 9.0 对象Dim VbExcel As Excel.Application '打开 Set VbExcel = New Excel.Application VbExcel.Workbooks.Open txtFileName.Text'读数据 strDate = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 1).Value strOpen = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 7).Value strHigh = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 8).Value strLow = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 9).Value strClose = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 10).Value strGross = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 11).Value strVolume = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 12).Value写大概已是这样吧 用完之后,关上: If Not VbExcel Is Nothing Then VbExcel.Visible = True VbExcel.ActiveWorkbook.Close False Set VbExcel = Nothing End If
这是一个 把Excel导入 MSHFlexGrid的例子!你改以下即可 Dim con As ADODB.Connection Dim re As ADODB.RecordsetPrivate Sub Command2_Click() Call Conre re.Open "select * from [table$] where id=" & Text1.Text & "", con, adOpenDynamic, adLockBatchOptimistic If re.RecordCount < 1 Then sql = "insert into [table$](id,name,age,address) values('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "')" con.Execute sql MsgBox "³É¹¦ ", vbInformation, "Ìáʾ " Call Form_Load Else
MsgBox "¼Ç¼Öظ´" End If
End SubSub Conre() Set con = New ADODB.Connection con.Open "provider=microsoft.jet.oledb.4.0;data source=c:\excel.xls;extended properties=excel 8.0;" con.CursorLocation = adUseClient Set re = New Recordset End SubPrivate Sub Command3_Click() Call Conre sql = "delete from [table$] where id=" & Text1(0).Text & "" con.Execute sql Call Form_Load End SubPrivate Sub Command4_Click() Call Conre sql = "update [table$] set name='" & Text1(1).Text & "',age='" & Text1(2).Text & "',address='" & Text1(3).Text & "' where id=" & Text1(0).Text & "" con.Execute sql Call Form_Load End SubPrivate Sub Form_Load() Call Conre re.Open "select * from [table$]", con, adOpenDynamic, adLockBatchOptimistic Set MSHFlexGrid1.DataSource = re MSHFlexGrid1.ColWidth(3) = 2000 MSHFlexGrid1.Col = 0 MSHFlexGrid1.Row = 1 Set MSHFlexGrid1.CellPicture = LoadPicture("c:\x.gif", 2) For i = 0 To 3 MSHFlexGrid1.Row = 1 MSHFlexGrid1.Col = i Text1(i).Text = MSHFlexGrid1.Text Next End SubPrivate Sub MSHFlexGrid1_Click() MSHFlexGrid1.Row = MSHFlexGrid1.Row For i = 0 To 3 MSHFlexGrid1.Col = i Text1(i).Text = MSHFlexGrid1.Text Next End Sub
'打开
Set VbExcel = New Excel.Application
VbExcel.Workbooks.Open txtFileName.Text'读数据
strDate = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 1).Value
strOpen = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 7).Value
strHigh = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 8).Value
strLow = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 9).Value
strClose = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 10).Value
strGross = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 11).Value
strVolume = VbExcel.ActiveWorkbook.Sheets(1).Cells(n, 12).Value写大概已是这样吧
用完之后,关上: If Not VbExcel Is Nothing Then
VbExcel.Visible = True
VbExcel.ActiveWorkbook.Close False
Set VbExcel = Nothing
End If
Dim con As ADODB.Connection
Dim re As ADODB.RecordsetPrivate Sub Command2_Click()
Call Conre
re.Open "select * from [table$] where id=" & Text1.Text & "", con, adOpenDynamic, adLockBatchOptimistic
If re.RecordCount < 1 Then
sql = "insert into [table$](id,name,age,address) values('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "')"
con.Execute sql
MsgBox "³É¹¦ ", vbInformation, "Ìáʾ "
Call Form_Load
Else
MsgBox "¼Ç¼Öظ´"
End If
End SubSub Conre()
Set con = New ADODB.Connection
con.Open "provider=microsoft.jet.oledb.4.0;data source=c:\excel.xls;extended properties=excel 8.0;"
con.CursorLocation = adUseClient
Set re = New Recordset
End SubPrivate Sub Command3_Click()
Call Conre
sql = "delete from [table$] where id=" & Text1(0).Text & ""
con.Execute sql
Call Form_Load
End SubPrivate Sub Command4_Click()
Call Conre
sql = "update [table$] set name='" & Text1(1).Text & "',age='" & Text1(2).Text & "',address='" & Text1(3).Text & "' where id=" & Text1(0).Text & ""
con.Execute sql
Call Form_Load
End SubPrivate Sub Form_Load()
Call Conre
re.Open "select * from [table$]", con, adOpenDynamic, adLockBatchOptimistic
Set MSHFlexGrid1.DataSource = re
MSHFlexGrid1.ColWidth(3) = 2000
MSHFlexGrid1.Col = 0
MSHFlexGrid1.Row = 1
Set MSHFlexGrid1.CellPicture = LoadPicture("c:\x.gif", 2)
For i = 0 To 3
MSHFlexGrid1.Row = 1
MSHFlexGrid1.Col = i
Text1(i).Text = MSHFlexGrid1.Text
Next
End SubPrivate Sub MSHFlexGrid1_Click()
MSHFlexGrid1.Row = MSHFlexGrid1.Row
For i = 0 To 3
MSHFlexGrid1.Col = i
Text1(i).Text = MSHFlexGrid1.Text
Next
End Sub