设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1925|回复: 2
打印 上一主题 下一主题

[窗体] 如何导出列表框里面的值到excel

[复制链接]
跳转到指定楼层
1#
发表于 2019-10-8 14:58:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问各位老师如果在窗体中导出列表框里面的值到excel
附件中的例子,如何导出窗体中的list(列表框),谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2019-10-9 14:29:26 | 只看该作者
一般来说,如果绑定了数据源,直接将数据源转换为一个查询,再导出就好了。
  1. Private Sub Command4_Click()
  2.     Dim qry As DAO.QueryDef
  3.     Dim strSQL As String
  4.     strSQL = Me.List0.RowSource
  5.     '创建一个查询
  6.     Set qry = CurrentDb.CreateQueryDef("qry1", strSQL)
  7.     DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "qry1", CurrentProject.Path & "\list0.xlsx", True
  8.     '导出后再删除这个查询
  9.     CurrentDb.QueryDefs.Delete "qry1"
  10. End Sub
复制代码
如果没绑定数据源,则麻烦一些,需要创建Excel文件再写入:
  1. Private Sub Command5_Click()
  2.     Dim exl As New Excel.Application
  3.     Dim wk As Workbook
  4.     Dim ws As Worksheet
  5.     Dim strSource As String
  6.     Dim i As Long
  7.     Dim strData() As String
  8.     Set wk = exl.Workbooks.Add
  9.     Set ws = wk.ActiveSheet
  10.     strSource = Me.List2.RowSource
  11.     strData = Split(strSource, ";")
  12.     For i = 0 To UBound(strData)
  13.         ws.Cells(i + 1, 1) = strData(i)
  14.     Next
  15.     wk.SaveAs CurrentProject.Path & "\list1.xlsx"
  16.     wk.Close
  17.     exl.Quit
  18. End Sub
复制代码
本来打算在你的例子上做的,结果似乎引用了别的外部数据,所以重新写了一个例子,供参考(2007-2016版本)。如果没有对应的版本,请自行参考上面的代码。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
 楼主| 发表于 2019-10-10 07:26:02 | 只看该作者
roych 发表于 2019-10-9 14:29
一般来说,如果绑定了数据源,直接将数据源转换为一个查询,再导出就好了。
如果没绑定数据源,则麻烦一些 ...

感谢老师的帮助1!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-1 17:50 , Processed in 0.077127 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表