我已經獲得了可以遍歷我的選擇查詢並將它們導出爲標準.xls文件的代碼。將查詢導出爲共享工作簿
我的問題是,我怎樣才能將這些導出爲共享工作簿?
工作團隊使用大約20個工作簿,他們必須手動將其設置爲共享,以便他們都可以同時訪問它們。
目前,輸出,我運行命令:
DoCmd.OutputTo acQuery, Query, acFormatXLS, output_folder & DirectoryFriendlyQuery & ".xls", False, "", 0
我已經獲得了可以遍歷我的選擇查詢並將它們導出爲標準.xls文件的代碼。將查詢導出爲共享工作簿
我的問題是,我怎樣才能將這些導出爲共享工作簿?
工作團隊使用大約20個工作簿,他們必須手動將其設置爲共享,以便他們都可以同時訪問它們。
目前,輸出,我運行命令:
DoCmd.OutputTo acQuery, Query, acFormatXLS, output_folder & DirectoryFriendlyQuery & ".xls", False, "", 0
這似乎並不爲你的選擇之一。我不知道該怎麼做。希望你可以在系統級別解決這個問題(換句話說,把它們全部放在Access上)。
您需要使用辦公自動化。從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`