|
本帖最后由 roych 于 2015-3-3 11:09 编辑
1、请先行引用 Microsoft Word 库。2、打开模块后按F5执行即可生成word表格(不做窗体按钮了,如有需要,请自行创建按钮,然后把代码复制到按钮的单击事件上)。
3、注意,不要删除模板。
4、其它说明见注释。
- Sub ExpDoc()
- Dim rst As New ADODB.Recordset
- '定义word组件、文档、表、单元格
- Dim wd As New Word.Application
- Dim doc As Word.Document
- Dim tbl As Table
- Dim cel As Cell
- Dim i As Long
- Dim j As Long
- '打开模板,模板只保留表头。这样的话,每次增加数据时只需要新增一行即可,以避免数据超出原表而不方便写入。
- Set doc = wd.Documents.Add(CurrentProject.Path & "\模板.doc")
- '打开记录集
- rst.Open "人员信息", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
- 'Null值无法写入。跳转处理比较麻烦,直接忽略掉。
- On Error Resume Next
- 'Word文档里的table序号、行列序号都是从1开始的哦。
- Set tbl = doc.Tables(1)
- For i = 1 To rst.RecordCount
- '新增一行,然后写入数据
- tbl.Rows.Add
- For j = 0 To rst.Fields.Count - 1
- Set cel = tbl.Cell(i + 1, j + 1)
- cel.Range = rst(j)
- Next
- rst.MoveNext
- Next
- rst.Close
- Set rst = Nothing
- '删除旧文件,并保存新文件,然后退出word程序。
- If Len(Dir(CurrentProject.Path & "\人员信息.doc")) > 0 Then Kill CurrentProject.Path & "\人员信息.doc"
- doc.SaveAs2 (CurrentProject.Path & "\人员信息.doc")
- doc.Close
- wd.Quit
- End Sub
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|