Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вставка в Excel / 10 сообщений из 10, страница 1 из 1
24.01.2016, 10:33
    #39153878
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в Excel
Тема не новая, но на свой вопрос так и не нашел ответа
Делаю вставку все работает, но повторно если запустить ошибка "application-defined or object-defined error" подсвечивается строка с CopyFromRecordset. Что не так в коде?
Set db = CurrentDb()
Set rs = db.OpenRecordset(str)

Set exApp = CreateObject("Excel.Application")
Set exW = Workbooks.Add()
exApp.Visible = True
exApp.Worksheets(1).Cells(2, 1).CopyFromRecordset rs

For i = 0 To rs.Fields.Count - 1
exApp.Worksheets(1).Cells(1, 1).Value = rs.Fields(i).Name
Next
Set rs = Nothing
[/SRC]
...
Рейтинг: 0 / 0
24.01.2016, 11:15
    #39153888
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в Excel
noobs, закрывать/уничтожать все намеренно/понезнанию созданные тобой объекты нужно.
...
Рейтинг: 0 / 0
25.01.2016, 06:00
    #39154205
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в Excel
Уточните пожалуйста что нужно уничтожать?
...
Рейтинг: 0 / 0
25.01.2016, 09:09
    #39154244
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в Excel
noobsУточните пожалуйста что нужно уничтожать? exApp, exW . Также неплохо показывать весь код, а не кусочек. Непонятно, как и где объявлены переменные exApp, exW.
...
Рейтинг: 0 / 0
25.01.2016, 09:14
    #39154248
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в Excel
Так же неплохо закрыть rs раз ты его открыл. Да и объект db тоже неплохо было бы ликвидировать, а не ждать милости от природ VBA.
...
Рейтинг: 0 / 0
25.01.2016, 09:25
    #39154256
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в Excel
Добавил переменные, теперь ошибка стала Method 'Worksheets' of object '_Application' failed
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Private Sub Êíîïêà35_Click() 'excel
Dim exApp As Excel.Application
Dim exW As Excel.Workbook
Dim str As String
str = Me![pod_dbo_DogovorPlan].Form.RecordSource
 
Set db = CurrentDb()
Set rs = db.OpenRecordset(str)

Set exApp = CreateObject("Excel.Application")
Set exW = Workbooks.Add()
ea.Visible = True
For i = 0 To rs.Fields.Count - 1
exApp.Worksheets(1).Cells(1, 1).Value = rs.Fields(i).Name
Next

exApp.Worksheets(1).Cells(2, 1).CopyFromRecordset rs
rs.Close
Set rs = Nothing
Set db = Nothing
Set exApp = Nothing
Set exW = Nothing
End Sub
...
Рейтинг: 0 / 0
25.01.2016, 09:26
    #39154258
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в Excel
ea.Visible = True заменено на exApp
...
Рейтинг: 0 / 0
25.01.2016, 11:16
    #39154323
An12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в Excel
Set exW = Workbooks.Add()
exApp.Workbooks.add
Set exW = exApp.ActiveSheet
...
Рейтинг: 0 / 0
25.01.2016, 11:23
    #39154328
An12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в Excel
под Worksheets(1) кажись идет личная книга макросов.
тут можно просто указать Cells
exApp.Worksheets(1).Cells(1, 1).Value = rs.Fields(i).Name
...
Рейтинг: 0 / 0
25.01.2016, 11:47
    #39154353
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в Excel
Спасибо, теперь работает как надо
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вставка в Excel / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]