VB操作excel,给excel录入数据
要求1:在text1中写入数据“xx“,然后点击command1,就可以把"xx"显示在excel表格的A1单元格里,比如excel表格的路径在"d:\11.xls"。录入数据后,要自动保存。
要求2:再次打开vb,录入数据,比如在text1中写入"xxx",点击command1时,因为刚才excel中,A1单元格已经有数据了,所以"xxx"要显示在A2单元格里,依次类推,显示在A3,A4,A5单元格里,也自动保存。
这样可以实现吗?就剩这点财富了,哪位大侠帮帮忙,谢谢了~~~~~ 展开
VB可将使用Object 数据类型对EXCEL对象进行引用。
Object 数据类型,Object 变量存储为 32 位(4
个字节)的地址形式,其为对象的引用。利用 Set 语句,声明为 Object
的变量可以赋值为任何对象的引用。注意 虽然以 Object
类型声明的变量足以适应包含对各种对象的引用,但是绑定到变量引用的对象总是在晚期(运行时)绑定。要强迫在早期(编译时间)绑定的话,须将对象的引用赋值给用特定类名称声明的变量。新建VB的EXE工程,使用如下代码在第一行第一列写入vb操作excel:
Option Explicit
Dim xlapp As Object
Dim xlBook As Object
Dim xlSheet As Object
Dim A As String
Private Sub Command1_Click()
Set xlapp = CreateObject("excel.application")
xlapp.Visible = True
Set xlBook = xlapp.Workbooks.Add
Set xlSheet = xlBook.worksheets(1)
A = "vb操作excel"
xlSheet.Cells(1, 1) = A
End Sub
Dim EXCEL对象 As Excel.Application
Dim 工作薄 As Excel.Workbook
Dim 工作表 As Excel.Worksheet
Private Sub Form_Load()
Set EXCEL对象 = CreateObject("Excel.Application")
Set 工作薄 = EXCEL对象.Workbooks.Open("d:\11.xls")
Set 工作表 = 工作薄.Worksheets(1)
EXCEL对象.Visible = False
End Sub
Private Sub command1_Click()
Dim i As Integer
i = 1
Do While (Len(工作表.Cells(i, 1)) > 0) '在vb里面,整数的操作要比字符串的操作速度快得多,所以这里最好不用 工作表.Cells(i, 1)="" 进行判断
i = i + 1
Loop
工作表.Cells(i, 1) = text1
工作薄.SaveAs ("d:\11.xls")
工作薄.Close
EXCLE对象.Quit
Set EXCLE对象 = Nothing
MsgBox "数据写入完成!", 48
End Sub
Dim xlsApp As Excel.Application
Dim xlsBook As Excel.Workbook
Private Sub Command1_Click()
Dim I As Integer
Set xlsApp = Excel.Application
xlsApp.Visible = False
Set xlsBook = xlsApp.Workbooks.Open("D:\11.xls")
I = 1
Do While xlsApp.Sheets(1).cells(I, 1) <> ""
I = I + 1
Loop
xlsApp.Sheets(1).cells(I, 1) = Text1.Text
xlsBook.Close (True)
xlsApp.Quit
Set xlsApp = Nothing
MsgBox "数据写入成功!"
End Sub