Access 2013 accde 文件无法导出到 acFormatXLSX
Access 2013 accde file can't export to acFormatXLSX
我有一个 Access 2013 数据库,我将其保存为 accde 文件以提供给最终用户。我注意到报表打印预览功能区上不再有导出按钮。我不确定为什么它们在 accdb 中但在 accde 文件中消失了并且找不到任何使用 Google 来解释这个但我确实找到了很多文章说你必须为运行时制作自己的功能区要导出到 Excel 的 Access 版本。我没有使用运行时,但我制作了自己的功能区并且它有效,但仅适用于 .xls 文件格式。当我尝试将其保存为 .xlsx 时出现错误:
"Run-time error '2282': The format in which you are attempting to output the current object is not available."
我在网上发现了一些帖子说这有效,但没有详细信息,还有很多关于 Access 2007 bug/removed 功能的帖子 Excel 导出不起作用,但我使用的是 2013所以不相关。
所以代码很简单:
DoCmd.OutputTo acOutputReport, "MyReport", acFormatXLSX, "File Name"
我也试过添加参考。我目前有以下按优先顺序排列的参考资料:
应用程序的 Visual Basic
Microsoft Access 15.0 对象库
OLE自动化
Microsoft Office 15.0 Access 数据库引擎 Object Library
微软互联网控制
Microsoft Office 15.0 对象库
微软 Excel 15.0 对象库
Microsoft 数据访问组件安装版本
简短的问题是,是否可以使用 Access 2013 导出到 XSLX?如果是,我做错了什么?
感谢您一路阅读到这里。
我通过VBA将其写入excel,而不是使用导出功能。请参阅下面的当前项目示例。
Private Sub cmdExcel_Click()
DoCmd.Hourglass 1
'Create a new workbook in Excel
Dim i As Long
Dim j As Integer
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Dim tbl As Object
Dim rng As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Set oSheet = oBook.Worksheets(1)
i = 1
j = 1
'Transfer the data to Excel
Do While i <= frmStockScreen.Form.fGrid.rows
Do While j <= frmStockScreen.Form.fGrid.cols
oSheet.cells(i, j).Value = frmStockScreen.Form.fGrid.TextMatrix(i - 1, j - 1)
j = j + 1
Loop
j = 1
i = i + 1
Loop
Set rng = oSheet.Range(oSheet.cells(1, 1), oSheet.cells(frmStockScreen.Form.fGrid.rows, frmStockScreen.Form.fGrid.cols))
Set tbl = oSheet.ListObjects.Add(1, rng, , 1)
tbl.TableStyle = "TableStyleLight9"
oSheet.Columns(1).ColumnWidth = 10
oSheet.Columns(2).ColumnWidth = 25
oSheet.Columns(12).ColumnWidth = 40
'Save the Workbook and Quit Excel
oBook.SaveAs "V:\Database\Temp\StockDump" & GetNewLogin() & ".xlsx"
oExcel.Quit
Application.FollowHyperlink "V:\Database\Temp\StockDump" & GetNewLogin() & ".xlsx"
DoCmd.Hourglass 0
End Sub
无法将报告导出到 Excel 2013 年。显然,由于导出报告的用户体验不佳,它没有被特别包含在内。我可以想象跨越许多单元格等的标签会变得混乱。
如果要导出到 Excel,可以将查询导出到 Excel 吗?或者只是导出为 PDF?
您也可以使用模板 excel 文件,然后将数据导出到一个范围内。
从此link on support.office.com向下滚动到准备导出操作,在With Formatting部分下查看。
有脚注 1. 选择目标工作簿和文件格式。请注意,报告只能以较旧的 *.xls 文件格式导出,不能以较新的 *.xlsx 文件格式导出。
我有一个 Access 2013 数据库,我将其保存为 accde 文件以提供给最终用户。我注意到报表打印预览功能区上不再有导出按钮。我不确定为什么它们在 accdb 中但在 accde 文件中消失了并且找不到任何使用 Google 来解释这个但我确实找到了很多文章说你必须为运行时制作自己的功能区要导出到 Excel 的 Access 版本。我没有使用运行时,但我制作了自己的功能区并且它有效,但仅适用于 .xls 文件格式。当我尝试将其保存为 .xlsx 时出现错误:
"Run-time error '2282': The format in which you are attempting to output the current object is not available."
我在网上发现了一些帖子说这有效,但没有详细信息,还有很多关于 Access 2007 bug/removed 功能的帖子 Excel 导出不起作用,但我使用的是 2013所以不相关。
所以代码很简单:
DoCmd.OutputTo acOutputReport, "MyReport", acFormatXLSX, "File Name"
我也试过添加参考。我目前有以下按优先顺序排列的参考资料: 应用程序的 Visual Basic Microsoft Access 15.0 对象库 OLE自动化 Microsoft Office 15.0 Access 数据库引擎 Object Library 微软互联网控制 Microsoft Office 15.0 对象库 微软 Excel 15.0 对象库 Microsoft 数据访问组件安装版本
简短的问题是,是否可以使用 Access 2013 导出到 XSLX?如果是,我做错了什么?
感谢您一路阅读到这里。
我通过VBA将其写入excel,而不是使用导出功能。请参阅下面的当前项目示例。
Private Sub cmdExcel_Click()
DoCmd.Hourglass 1
'Create a new workbook in Excel
Dim i As Long
Dim j As Integer
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Dim tbl As Object
Dim rng As Object
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Set oSheet = oBook.Worksheets(1)
i = 1
j = 1
'Transfer the data to Excel
Do While i <= frmStockScreen.Form.fGrid.rows
Do While j <= frmStockScreen.Form.fGrid.cols
oSheet.cells(i, j).Value = frmStockScreen.Form.fGrid.TextMatrix(i - 1, j - 1)
j = j + 1
Loop
j = 1
i = i + 1
Loop
Set rng = oSheet.Range(oSheet.cells(1, 1), oSheet.cells(frmStockScreen.Form.fGrid.rows, frmStockScreen.Form.fGrid.cols))
Set tbl = oSheet.ListObjects.Add(1, rng, , 1)
tbl.TableStyle = "TableStyleLight9"
oSheet.Columns(1).ColumnWidth = 10
oSheet.Columns(2).ColumnWidth = 25
oSheet.Columns(12).ColumnWidth = 40
'Save the Workbook and Quit Excel
oBook.SaveAs "V:\Database\Temp\StockDump" & GetNewLogin() & ".xlsx"
oExcel.Quit
Application.FollowHyperlink "V:\Database\Temp\StockDump" & GetNewLogin() & ".xlsx"
DoCmd.Hourglass 0
End Sub
无法将报告导出到 Excel 2013 年。显然,由于导出报告的用户体验不佳,它没有被特别包含在内。我可以想象跨越许多单元格等的标签会变得混乱。
如果要导出到 Excel,可以将查询导出到 Excel 吗?或者只是导出为 PDF?
您也可以使用模板 excel 文件,然后将数据导出到一个范围内。
从此link on support.office.com向下滚动到准备导出操作,在With Formatting部分下查看。
有脚注 1. 选择目标工作簿和文件格式。请注意,报告只能以较旧的 *.xls 文件格式导出,不能以较新的 *.xlsx 文件格式导出。