Что нового

Не читается значение ячеек Excel

MrGep

Новичок
Сообщения
74
Репутация
1
Описание: Добрый всем день! Возникла проблема при создании скрипта, который будет считывать данные из Excel файла при нажатии на кнопку. Файл прилагается, но в результате либо вообще ничего не происходит, либо выдается два сообщения с нулями.


Код:
#include <GUIConstants.au3>
#include <Excel.au3>
#include <Array.au3>
#include <GUIConstants.au3>
GUICreate("My GUI")
GUISetState (@SW_SHOW)


$Button1 = GUICtrlCreateButton ("Копируем следующее место",  10, 30, 170)

Local $nMsg

While 1
    $msg = GUIGetMsg()
Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			_Read()
	EndSwitch
	If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend



Func _Read()
$sFilePath = @ScriptDir & '\test.xls'
$oExcel = _ExcelBookOpen($sFilePath)

$kolvomest = Inputbox("","Количество исследований")

for $i = 1 to $kolvomest

$Xcoords = _ExcelReadCell($oExcel, $i, 1)
$Ycoords = _ExcelReadCell($oExcel, $i ,3)

Msgbox("","",$Xcoords)
Msgbox("","",$Ycoords)
Next
EndFunc





Примечания: Заранее спасибо)
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
А так ?

Код:
#include <GUIConstants.au3>
#include <Excel.au3>
#include <Array.au3>
#include <GUIConstants.au3>

GUICreate("My GUI")
GUISetState (@SW_SHOW)


$Button1 = GUICtrlCreateButton ("Копируем следующее место",  10, 30, 170)

While 1
	Switch GUIGetMsg()
        Case $Button1
            _Read()
		Case $GUI_EVENT_CLOSE
			ExitLoop
    EndSwitch
Wend



Func _Read()
$sFilePath = @ScriptDir & '\test.xls'
$oExcel = _ExcelBookOpen($sFilePath)

$kolvomest = Inputbox("","Количество исследований")

for $i = 1 to $kolvomest

$Xcoords = _ExcelReadCell($oExcel, $i, 1)
$Ycoords = _ExcelReadCell($oExcel, $i ,3)

Msgbox(0,"",$Xcoords)
Msgbox(0,"",$Ycoords)
Next
EndFunc

ЗЫ: тема не для "стол заказов"
 
Автор
M

MrGep

Новичок
Сообщения
74
Репутация
1
---Zak---

Тоже самое. Одно сообщение пишет ноль и второе пишет ноль.

п.с. Почему? Разве это не из серии "Сделайте все за меня?")
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Странно у меня все работает...

А вот так что выводит:
Код:
#include <GUIConstants.au3>
#include <Excel.au3>
#include <Array.au3>
#include <GUIConstants.au3>

$sFilePath = @ScriptDir & '\test.xls'
If FileExists($sFilePath) Then
    $oExcel = _ExcelBookOpen($sFilePath)

	$Xcoords = _ExcelReadCell($oExcel, 1, 1)
	$Ycoords = _ExcelReadCell($oExcel, 1, 3)

	Msgbox(0,"",$Xcoords)
	Msgbox(0,"",$Ycoords)
Else
    MsgBox(4096, "Does NOT exists", $sFilePath)
EndIf

Напиши: ОС + Office какой - у меня XP + Office 2007

ЗЫ: это из темы - в чем ошибка, "сделайте все за меня?" - что-то с намеком (в моем понимании) - хочу программу, чтобы открывала эксель файл и считывала значения, а потом еще закрывала эксель. В ЯП вообще ничего не понимаю

ЗЫЫ: код слегка подправил...
 
Автор
M

MrGep

Новичок
Сообщения
74
Репутация
1
---Zak---, скрипт ваш заработал, нашел проблему, спасибо за помощь))
InnI, вам тоже огромное спасибо))

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