Office中国论坛/Access中国论坛

标题: 如何导出列表框里面的值到excel [打印本页]

作者: yanwei82123300    时间: 2019-10-8 14:58
标题: 如何导出列表框里面的值到excel
请问各位老师如果在窗体中导出列表框里面的值到excel
附件中的例子,如何导出窗体中的list(列表框),谢谢

作者: roych    时间: 2019-10-9 14:29
一般来说,如果绑定了数据源,直接将数据源转换为一个查询,再导出就好了。
  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版本)。如果没有对应的版本,请自行参考上面的代码。
[attach]63476[/attach]

作者: yanwei82123300    时间: 2019-10-10 07:26
roych 发表于 2019-10-9 14:29
一般来说,如果绑定了数据源,直接将数据源转换为一个查询,再导出就好了。
如果没绑定数据源,则麻烦一些 ...

感谢老师的帮助1!!




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