|
一段在Access中打开并读写Excel工作表的VBA代码:
(用于在Access窗体中读写Excel工作表,这是我用Access给别人写一个人事管理系统中,把员工信息写入Excel工作表并打印的代码中的部分)
Private Sub CommandExcel_Click()
On Error GoTo Err
Dim names As String
Dim ii As Integer
ii = MsgBox("正准备将数据输出到Excel。" + Chr(10) + Chr(13) + Chr(10) + Chr(13) + "按“确定”开始输出到Excel,按“取消”返回", vbOKCancel, "输出到Excel表")
If ii = vbCancel Then
Exit Sub
End If
'下面的代码是在Access中操作Excel的核心,和在Excel中的VBA有差异
Dim ex As New Excel.Application
Dim exwbook As Excel.Workbook
Dim sh
Set ex = CreateObject("excel.application")
Set exwbook = ex.Workbooks.Open(CurrentProject.Path & "\打印样表.xls")
Set sh = exwbook.Sheets(1)
'下面是把窗体控件的数据写入单元格
姓名.SetFocus
sh.Range("B4") = 姓名.Text
出生日期.SetFocus
sh.Range("B5") = 出生日期.Value
'…………(省略其它读写数据代码)
'显示工作表
ex.Visible = True
ii = MsgBox("“你需要保存该工作表的数据吗?" + Chr(10) + Chr(13) + "按“是”保存并退出,按“否”不保存直接退出。", vbYesNo, "退出Excel")
If ii = vbYes Then
names = sh.Range("B4").Value
names = CurrentProject.Path + "\excel\" + names + ".xls"
exwbook.SaveAs names
End If
exwbook.Save
ex.Quit
Set sh = Nothing
Set exwbook = Nothing
Set ex = Nothing
Err:
End Sub |
|