2011-03-14 43 views
1

我已经获得了可以遍历我的选择查询并将它们导出为标准.xls文件的代码。将查询导出为共享工作簿

我的问题是,我怎样才能将这些导出为共享工作簿?

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

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

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

回答

0

这似乎并不为你的选择之一。我不知道该怎么做。希望你可以在系统级别解决这个问题(换句话说,把它们全部放在Access上)。

0

您需要使用办公自动化。从VBA IDE(alt + F11)>>工具>>参考中设置对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` 

要通过不将文件保存两次(一个在访问和再次在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`