Office中国论坛/Access中国论坛

标题: 关于将access表里数据逐行导入word表格里的问题(已解决) [打印本页]

作者: zhidao    时间: 2015-3-3 08:53
标题: 关于将access表里数据逐行导入word表格里的问题(已解决)
本帖最后由 zhidao 于 2015-7-12 08:29 编辑

如题,我想将数据库“人员信息表”里的数据导入一个word模板表格里,这个问题我研究了几天就是找不到思路,所以请版友帮帮忙
谢过!

作者: roych    时间: 2015-3-3 09:25
应该是导出到word吧?供参考
http://www.office-cn.net/forum.php?mod=viewthread&tid=113919
如果是从word导入到access,应该建立word组件再进行读取数据
作者: zhidao    时间: 2015-3-3 09:58
roych 发表于 2015-3-3 09:25
应该是导出到word吧?供参考
http://www.office-cn.net/forum.php?mod=viewthread&tid=113919
如果是从wo ...

其实我也没想过那么复杂就是把数据到处去,之前我是用导入excel里的思路来的,但是还是没头绪,我上传了附件,版主有空指点一下思路吧。
作者: todaynew    时间: 2015-3-3 10:41
http://www.office-cn.net/forum.php?mod=viewthread&tid=80660
作者: roych    时间: 2015-3-3 11:06
本帖最后由 roych 于 2015-3-3 11:09 编辑

1、请先行引用 Microsoft Word 库。2、打开模块后按F5执行即可生成word表格(不做窗体按钮了,如有需要,请自行创建按钮,然后把代码复制到按钮的单击事件上)。
3、注意,不要删除模板。
4、其它说明见注释。
  1. Sub ExpDoc()
  2. Dim rst As New ADODB.Recordset
  3. '定义word组件、文档、表、单元格
  4. Dim wd As New Word.Application
  5. Dim doc As Word.Document
  6. Dim tbl As Table
  7. Dim cel As Cell
  8. Dim i As Long
  9. Dim j As Long
  10. '打开模板,模板只保留表头。这样的话,每次增加数据时只需要新增一行即可,以避免数据超出原表而不方便写入。
  11. Set doc = wd.Documents.Add(CurrentProject.Path & "\模板.doc")
  12. '打开记录集
  13. rst.Open "人员信息", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  14. 'Null值无法写入。跳转处理比较麻烦,直接忽略掉。
  15. On Error Resume Next
  16. 'Word文档里的table序号、行列序号都是从1开始的哦。
  17. Set tbl = doc.Tables(1)
  18. For i = 1 To rst.RecordCount
  19. '新增一行,然后写入数据
  20.     tbl.Rows.Add
  21.     For j = 0 To rst.Fields.Count - 1
  22.         Set cel = tbl.Cell(i + 1, j + 1)
  23.         cel.Range = rst(j)
  24.     Next
  25.         rst.MoveNext
  26. Next
  27. rst.Close
  28. Set rst = Nothing
  29. '删除旧文件,并保存新文件,然后退出word程序。
  30. If Len(Dir(CurrentProject.Path & "\人员信息.doc")) > 0 Then Kill CurrentProject.Path & "\人员信息.doc"
  31. doc.SaveAs2 (CurrentProject.Path & "\人员信息.doc")
  32. doc.Close
  33. wd.Quit
  34. End Sub
复制代码
[attach]55771[/attach]

作者: zhidao    时间: 2015-3-3 14:37
roych 发表于 2015-3-3 11:06
1、请先行引用 Microsoft Word 库。2、打开模块后按F5执行即可生成word表格(不做窗体按钮了,如有需要,请 ...

谢谢roych 版主的详细解答
作者: xlb004    时间: 2015-12-5 11:39
qqqqqqqqqqqqqqqqq




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3