Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Мари
Помогите! Возможно ли такое вообще?
Мне необходимо из аксесс выбрать файл эксель, в котором находятся нужные данные. Эти данные расположены на известном листе, но неизвестно, сколько там задействовано строк. Поэтому, прежде чем экспортировать нужно узнать, в каком диапазоне располагаются данные.

Я написала следующий код в access:

Dim app As Object
Set app = CreateObject("Excel.Application")

Dim sAddress As String
Dim objCloseBook As Object
Dim PathAndName As String

PathAndName = app.Application.GetOpenFilename("Excel files(*.xls*),*.xls*", 2, "Выбор файла, содержащего данные")
Set objCloseBook = GetObject(PathAndName)

Dim iLastRow As Long

'в следующей строке происходит ошибка!!!!
iLastRow = objCloseBook.Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Row

sAddress = "A1:G" & iLastRow 'или одна ячейка - "A1"

DoCmd.RunSQL "DELETE * FROM Таблица"
DoCmd.TransferSpreadsheet acImport, , "Таблица", File, True, , sAddress

app.Workbooks.Close


Происходит ошибка в момент поиска последней ячейки на листе книги эксель. Помогите исправить это, пожалуйста, или подскажите, как это можно сделать по-другому...


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.