VB6操作excel 菜鸟求高手帮写几个VB6操作excel的过程
功能:打开一个已有数据excel表1,生成新的表2,表2内的数据包含有表1的数据。再要在表2中追加写入数据(但不覆盖原有的,即从表1中复制过来的内容)表1内容还是不变。
要求以窗体(3个command)加1模块形式。能调试OK
1.打开一个已存在的excel表 public function openexcel(path)...要有判断是否已打开功能。....End function
2. 写excel表 public function writedata(x,y,data)..‘x,y为单元格地址,data为要写入的数据..end function
3.保存退出excel public function savequit()..生成新的表. ..end function
答案:我感觉这点事,不用写多个函数了一个过程.一次性写完好了.
vb6新建工程引用microsoft excel
Sub OpenExcelAndCopyData(path1 As String, path2 As String)
If Len(Dir(path)) = 0 Then
MsgBox "文件不存在!", vbCritical, "错误"
Exit Sub
End If
Dim excelapp As New Excel.Application
Dim wbk1 As Excel.Workbook
Dim wbk2 As Excel.Workbook
Dim sht1 As Excel.Worksheet
Dim sht2 As Excel.Worksheet
Set wbk1 = excelapp.Workbooks.Add(path1)
Set wbk2 = excelapp.Workbooks.Open(path2)
Set sht1 = wbk1.Worksheets(1)
Set sht2 = wbk2.Worksheets(1)
Dim r As Integer, r1 As Integer, r2 As Integer
Dim c As Integer, c1 As Integer, c2 As Integer
r1 = sht1.Range("A65536").End(xlUp).Row
r2 = sht2.Range("A65536").End(xlUp).Row
c1 = 1 '第一列到第五列的数据
c2 = 5
For r = 2 To r1
r2 = r2 + 1
For c = c1 To c2
sht2.Cells(r2, c) = sht1.Cells(r1, c)
Next
Next
wbk2.Save
wbk1.Close
wbk2.Close
excelapp.Quit
excelapp = Nothing
End Sub
其他:public function openexcel(path)as boolean
dim app_excel
Set app_excel = New Excel.Application
app_excel.Workbooks.Open filename:=path
If Err.Number = 0 Then
openexcel=true
else
openexcel=false
endif
app_excel.Quit
Set app_excel = Nothing
End function
public function writedata(x,y,data)
activesheet.cells(x,y).value=data
end function
public function savequit()
ActiveWorkbook.save
ActiveWorkbook.quit
end function
上一个:VB如何添加两个选项,选择后得到不同的结果?
下一个:vb里面,要删除指定的空行。为此郁闷了很久。求各位了。。。