Экспорт запроса в виде общей книги - PullRequest
1 голос
/ 14 марта 2011

У меня есть код, который будет перебирать все мои запросы и экспортировать их как стандартные файлы .xls.

У меня вопрос, как я могу экспортировать их как общие книги?

Команда на работе использует около 20 рабочих книг, и им приходится вручную устанавливать их как общие, чтобы все они могли получить к ним доступ одновременно.

В настоящее время для вывода я запускаю команду:

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

Ответы [ 2 ]

0 голосов
/ 30 января 2012

Вам нужно будет использовать офисную автоматизацию. Установите ссылку на вашу библиотеку объектов Microsoft Excel из среды IDE VBA (alt + F11) >> Инструмент >> Ссылки.

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`
0 голосов
/ 29 марта 2011

Это, похоже, не из ваших вариантов.Я не вижу, как это сделать.Надеемся, что вы сможете решить эту проблему на системном уровне (другими словами, получить их все в Access).

...