Запись данных из файла Access в Excel - PullRequest
2 голосов
/ 11 ноября 2008

Я пытаюсь использовать следующий код для записи данных в файл Excel

     Dim objexcel As Excel.Application
                     Dim wbexcel As Excel.Workbook
                     Dim wbExists As Boolean
                     Set objexcel = CreateObject("excel.Application")
                     objexcel.Visible = True
                     On Error GoTo Openwb
                     wbExists = False
                     Set wbexcel = objexcel.Documents.Open("C:\Documents and Settings\TAYYAPP\Desktop\test folder\ERROR REPORT2.xls")
                     wbExists = True
Openwb:

                     On Error GoTo 0
                     If Not wbExists Then
                     Set wbexcel = objexcel.Workbook.Add
                     End If

но я получаю

объект ошибки времени выполнения не поддерживает свойство или метод

в строке

Set wbexcel = objexcel.Workbook.Add

Я ссылался на библиотеку объектов Excel.

Ответы [ 2 ]

7 голосов
/ 11 ноября 2008

Вам нужно будет изменить эту строку:

 Set wbexcel = objexcel.WorkBooks.Open( _
    "C:\Documents and Settings\TAYYAPP\Desktop\test folder\ERROR REPORT2.xls")     

Примечание. Рабочие книги, а не документы

Как для этой строки Установите wbexcel = objexcel.Workbook.Add, wbexcel определяется как рабочая книга, но строка является действием, поэтому:

objexcel.Workbooks.Add
Set wbexcel = objexcel.ActiveWorkbook

EDIT: Кроме того, DoCmd.Transferspreadsheet, вероятно, является самым простым способом передачи набора данных (запрос, таблица) из Access в Excel.

0 голосов
/ 13 ноября 2008

У меня есть этот код, который отлично работает

Dim objexcel As Excel.Application
                     Dim wbexcel As Excel.Workbook
                     Dim wbExists As Boolean
                     Dim objSht As Excel.Worksheet
                     Dim objRange As Excel.Range


                     Set objexcel = CreateObject("excel.Application")
                     objexcel.Visible = True
                     On Error GoTo Openwb
                     wbExists = False
                     Set wbexcel = objexcel.Workbooks.Open("C:\Documents and Settings\TAYYAPP\Desktop\test folder\reports\ERROR REPORT2.xls")
                     Set objSht = wbexcel.Worksheets("Sheet1")
                     objSht.Activate
                     wbExists = True
Openwb:

                     On Error GoTo 0
                     If Not wbExists Then
                     objexcel.Workbooks.Add
                     Set wbexcel = objexcel.ActiveWorkbook
                     Set objSht = wbexcel.Worksheets("Sheet1")

                     End If

но я хочу добавить еще одну проверку, что если файл существует, то я хочу увидеть, заполнен ли он значениями, и если да, то я хочу, чтобы следующий набор значений заполнялся с конца. На данный момент он перезаписывает существующие значения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...