【问题标题】:Exporting Query as Shared Workbook将查询导出为共享工作簿
【发布时间】:2011-03-14 12:06:30
【问题描述】:

我的代码将遍历我选择的查询并将它们导出为标准 .xls 文件。

我的问题是,如何将这些导出为共享工作簿?

一个团队在工作中使用大约 20 个工作簿,他们必须手动将它们设置为共享,以便他们都可以同时访问它们。

目前,要输出,我运行命令:

DoCmd.OutputTo acQuery, Query, acFormatXLS, output_folder & DirectoryFriendlyQuery & ".xls", False, "", 0

【问题讨论】:

    标签: ms-access vba ms-access-2003


    【解决方案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`
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多