С Формы Access в Excel

Программирование на Visual Basic for Applications
-=xXx=-
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 03.08.2004 (Вт) 13:20

С Формы Access в Excel

Сообщение -=xXx=- » 03.08.2004 (Вт) 14:09

Передаю данные из формы Access в Excel, первый раз все проходит на ура, а вот при повторном запуске выдает “Method 'Cells' of object '_Global' failed” ……. Это из-за того, что он не выгружает Excel из памяти, хотя я ее очищаю, вот код:

Dim wbk As Excel.Workbook
Dim wks As Excel.Worksheet
Dim app As Excel.Application
Dim i As Integer

Set app = New Excel.Application
Set wbk = appExcel.Workbooks.Open(strExcelFinal)
Set wks = wbkNew.Worksheets(1)
app.Visible = True


With wks
.Cells(2, 6).Value = " по страхованию жизни и трудоспособности Страхователя " & [f10]
.Cells(2, 8).Value = " по страхованию жизни и трудоспособности Страхователя " & [f10]

For i = 1 To [f33].Value
.Cells(i + 2, 1).Value = i
.Cells(i + 2, 2).Value = FormatDateTime(DateAdd("yyyy", i - 1, [fd_4]), vbGeneralDate)
.Cells(i + 2, 3).Value = FormatDateTime(DateAdd("yyyy", 1, DateAdd("d", -1, Cells(i + 2, 2).Value)), vbGeneralDate)
Next i
End With

Set wbk = Nothing
Set wks = Nothing
Set app = Nothing

Но, что интересно, если в цикле закоментарить строчку или две, все работает нормально :) ....... делаю вывод, что неполная выгрузка Excel происходит из-за обращения к ячейке.
Последний раз редактировалось -=xXx=- 04.08.2004 (Ср) 6:58, всего редактировалось 1 раз.

MisterX
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 03.08.2004 (Вт) 12:49
Откуда: Moscow

Сообщение MisterX » 03.08.2004 (Вт) 16:46

ты объявляешь переменные
wbkNew
а освобождаешь wbk
но трабла скорее всего не в этом
наверное нужно сделать так
app.quit 'закрыть Excell
апотом уже освобождать переменные
возможно ошибка в том , что ты пытаешься открыть второй экземпляр приложения Excell

-=xXx=-
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 03.08.2004 (Вт) 13:20

Сообщение -=xXx=- » 04.08.2004 (Ср) 6:54

MisterX писал(а):ты объявляешь переменные
wbkNew
а освобождаешь wbk

Это касяк :) ...... я создая и освобождаю wbk

но трабла скорее всего не в этом
наверное нужно сделать так
app.quit 'закрыть Excell
апотом уже освобождать переменные

Мне не нужно закры Excel, там создается отчет ...... когда очишаю переменные, я пытаюсь его отправить в "свободное плавание", чтобы небыло связи с Access.
возможно ошибка в том , что ты пытаешься открыть второй экземпляр приложения Excell

Вряд ли, New стоит один раз.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Mail.ru [бот] и гости: 90

    TopList