Что нового

Получить данные из ячейки открытой книги Excel

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Доброго времени суток, уважаемые.
подскажите плз, есть ли вариант получения данных из ячейки Excel если книга уже отурыта, а не открывать ее постоянно?

Код:
Local $oExcel = _Excel_Open()
Local $sWorkbook = @ScriptDir & "\car.xls"
Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)

For $i = 1 To 137
	Local $sCar= _Excel_RangeRead($oWorkbook, Default, "A"& $i) ;carrier number
	Local $sCarDes= _Excel_RangeRead($oWorkbook, Default, "B"& $i) ;carrier name
.....
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
kvitnitskiy
если книга уже открыта, а не открывать ее постоянно
Если книга открыта, зачем её открывать заново? Фрагмент скрипта также не открывает книгу повторно.
Требуется пояснение возникшей проблемы.
 
Автор
K

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Если книга открыта, зачем её открывать заново?
Если ее не открывать, то такой пример не срабатывает, ошибку не кажет, но и не берет значение.

Код:
Local $sWorkbook = @ScriptDir & "\car.xls"
For $i = 1 To 137
    Local $sCar= _Excel_RangeRead($oWorkbook, Default, "A"& $i) ;carrier number
    Local $sCarDes= _Excel_RangeRead($oWorkbook, Default, "B"& $i) ;carrier name
.....


Фрагмент скрипта также не открывает книгу повторно.
открывает, еще как, если книга открыта, то при запуске скрипта - он ее переоткрывает.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Код:
;Если кника открыта
Local $oExcel = _Excel_Open()
Local $sWorkbook = @ScriptDir & "\car.xls"
Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)

;...................................
;Книга  Excel будет доступна до тех пор, пока не закроете 
_Excel_BookClose($oWorkbook)
_Excel_Close($oExcel)



открывает, еще как, если книга открыта, то при запуске скрипта - он ее переоткрывает.
Это происходит потому-что Вы не закрываете открытую книгу и Excel при завершении работы скрипта ( или в любой другой момент, когда работа с Excel уже завершена)
 

ildar

Осваивающий
Сообщения
252
Репутация
29
но и не берет значение.
Код:
$sCar= _Excel_RangeRead($oWorkbook, Default, "A"& $i)
Я думаю он не понимает область чтения. Попробуй так
Код:
Local $sCar= _Excel_RangeRead($oWorkbook, Default, '"A' & $i & '"')
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
В таком виде
Код:
Local $sCar= _Excel_RangeRead($oWorkbook,Default, "A"&$i)

будет работать
 
Автор
K

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Увы, ни один из предложенных вариантов не работает
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
inververs
Вам надо функция
Кажется, я тоже понял, что kvitnitskiy хочет работать с одной книгой из разных скриптов.

kvitnitskiy
при запуске скрипта - он ее переоткрывает
Код:
Local $oExcel = _Excel_Open()
Local $sWorkbook = @ScriptDir & "\car.xls"
Local $oWorkbook = _Excel_BookAttach($sWorkbook)
If @error Then $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)
 
Верх