Excel, чтение данных

Программирование на Visual Basic for Applications
Chuvak
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 11.03.2003 (Вт) 8:39
Откуда: Russia, Ozёrsk

Excel, чтение данных

Сообщение Chuvak » 21.07.2003 (Пн) 9:44

У меня есть excel'евская книга (в общем файл), надо программно считать данные с него. Кто-нибудь знает как?

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 21.07.2003 (Пн) 9:50

а откуда ты будешь к ней обращаться из другой книги или из vb
Ничто так не ограничивает полёт мысли программиста, как компилятор

Chuvak
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 11.03.2003 (Вт) 8:39
Откуда: Russia, Ozёrsk

Сообщение Chuvak » 21.07.2003 (Пн) 9:52

из VB

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 21.07.2003 (Пн) 10:02

Код: Выделить всё
dim xlapp as new excel.application
dim xlsheet as object
set xlsheet = xlapp.workbooks("Workbook1").Worksheets("Sheet1")


Тепреь можно будет обращаться к данным на листе через xlsheet.cells

Подробнее - в хелпе Екселя.

Chuvak
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 11.03.2003 (Вт) 8:39
Откуда: Russia, Ozёrsk

Сообщение Chuvak » 21.07.2003 (Пн) 10:19

у меня на строке
Код: Выделить всё
set xlsheet = xlapp.workbooks("Workbook1").Worksheets("Sheet1")

ошибка: Subscript out of range

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 21.07.2003 (Пн) 10:47

а у тебя лист Sheet1 есть, если нет то поменяй на нужный
Ничто так не ограничивает полёт мысли программиста, как компилятор

Chuvak
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 11.03.2003 (Вт) 8:39
Откуда: Russia, Ozёrsk

Сообщение Chuvak » 21.07.2003 (Пн) 10:50

есть

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 21.07.2003 (Пн) 10:51

и книга называется Workbook1 :?:
Ничто так не ограничивает полёт мысли программиста, как компилятор

Chuvak
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 11.03.2003 (Вт) 8:39
Откуда: Russia, Ozёrsk

Сообщение Chuvak » 21.07.2003 (Пн) 10:56

да, специально всё переименовал

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 21.07.2003 (Пн) 10:58

книгу надо вель еще открыть :oops:
dim xlapp as new excel.application
dim xlsheet as object
xlapp.Workbooks.Open App.Path & "\Workbook1.xls"
set xlsheet = xlapp.workbooks("Workbook1").Worksheets("Sheet1")
что-то туплю :)
ну и закрыть потом тоже надо
xlapp.Workbooks("Workbook1").Close
Ничто так не ограничивает полёт мысли программиста, как компилятор

Chuvak
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 102
Зарегистрирован: 11.03.2003 (Вт) 8:39
Откуда: Russia, Ozёrsk

Сообщение Chuvak » 22.07.2003 (Вт) 10:50

а можно как-нибудь не указывать название листа, а просто указать, что первый лист

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 22.07.2003 (Вт) 10:53

можно "sheets1"=1
т.е. set xlsheet = xlapp.workbooks(1).Worksheets(1)
только номера не перепутай и смотри чтобы в книге листы не добавляли и не убирали
Ничто так не ограничивает полёт мысли программиста, как компилятор


Вернуться в VBA

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 94

    TopList