将查询导出为共享工作簿

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`

【讨论】:

以上是关于将查询导出为共享工作簿的主要内容,如果未能解决你的问题,请参考以下文章

vbscript 将整个工作簿导出为PDF

与多个用户共享的宏不会复制/粘贴到工作簿中

vbscript 使用文件对话框将工作簿导出为PDF

EXCEL的多个工作表如何导出单个EXCEL工作表

python 此要点将从Excel工作簿中提取每个单独的工作表并将其导出为CSV。

vbscript 将表格导出到新工作簿