将查询导出为共享工作簿
Posted
技术标签:
【中文标题】将查询导出为共享工作簿【英文标题】:Exporting Query as Shared Workbook 【发布时间】:2011-03-14 12:06:30 【问题描述】:我的代码将遍历我选择的查询并将它们导出为标准 .xls 文件。
我的问题是,如何将这些导出为共享工作簿?
一个团队在工作中使用大约 20 个工作簿,他们必须手动将它们设置为共享,以便他们都可以同时访问它们。
目前,要输出,我运行命令:
DoCmd.OutputTo acQuery, Query, acFormatXLS, output_folder & DirectoryFriendlyQuery & ".xls", False, "", 0
【问题讨论】:
【参考方案1】:这似乎不在您的选择之列。我不知道该怎么做。希望您可以在系统级别解决此问题(换句话说,将它们全部放在 Access 上)。
【讨论】:
【参考方案2】:您需要使用办公自动化。从 VBA IDE (alt+F11) >> Tool >> References 设置对 Microsoft Excel 对象库的引用。
Dim xlApp As Excel.Application, wb As Excel.Workbook`
Set xlApp = CreateObject("Excel.Application")
Set wb = xlApp.Workbooks.Open(FileName:=myfile)
wb.SaveAs accessmode:=xlShared, FileName:=myfile
wb.Close savechanges:=false
Set sb = Nothing
xlApp.Quit`
为了加快速度,不必两次保存文件(一次在 access 中,一次在 excel 中),您可以在内存中创建工作表。
Dim xlApp As Excel.Application, wb As Excel.Workbook, sh as excel.worksheet
Set xlApp = CreateObject("Excel.Application")
Set wb = xlApp.Workbooks.Open(FileName:=myfile)
set sh = wb.worksheets.add()
sh.cells(1,1).copyfromrecordset Data:=currentdb.openrecordset(name:="myquery")
wb.SaveAs accessmode:=xlShared, FileName:=myfile
wb.Close savechanges:=false
Set sb = Nothing
xlApp.Quit`
【讨论】:
以上是关于将查询导出为共享工作簿的主要内容,如果未能解决你的问题,请参考以下文章