Что нового

[Элементы GUI] GUI выбор из выпадающего списка

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Доброго времени суток уважаемые форумчане.
помогите решить вопрос
есть елемент выпадающий список, никак не получается выбрать со списка, прост оне реагирует,
ShowDropDown - раскрывает список, но SelectString - ноль реакции.

Код:
#include <Excel.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>
Local $oExcel = _Excel_Open()
Local $sWorkbook = @ScriptDir & "\Customers.xlsx"
Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)
Func go()

For $i = 2 To 156
	Local $sCust= _Excel_RangeRead($oWorkbook, Default, "A"& $i) ;customer numb
	Local $sCustType= _Excel_RangeRead($oWorkbook, Default, "C"& $i) ;customer type
	Local $sClientID= _Excel_RangeRead($oWorkbook, Default, "D"& $i) ;customer ClientID
	Local $sCustName= _Excel_RangeRead($oWorkbook, Default, "E"& $i) ;customer Name

ConsoleWrite( $i & " " & $sCust & " " & $sCustType  & " " & $sClientID & " " & $sCustName & @CRLF )
	sleep(10)
	send("^n")
sleep(300)
	ControlSetText("JDA Solutions","","[ID:1641352]",$sCust)
	ControlCommand("JDA Solutions","","[CLASS:16; ID:2165644]","ShowDropDown", "")
	ControlCommand("JDA Solutions","","[CLASS:16; ID:2165644]","SelectString", $sClientID)
	ControlCommand("JDA Solutions","","[CLASS:9; ID:2164576]","ShowDropDown", "")
	ControlCommand("JDA Solutions","","[CLASS:9; ID:2164576]","SelectString", $sCustType)
	send("{ENTER}")
sleep(2000)
Next
EndFunc


P.S. еще заметил, что при каждом запуске, ID почему то разное, поэтому поправил на имя контрола, вместо ID
Код:
#include <Excel.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>


Local $oExcel = _Excel_Open()
Local $sWorkbook = @ScriptDir & "\Customers.xlsx"
Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)

Func go()

For $i = 2 To 156
	Local $sCust= _Excel_RangeRead($oWorkbook, Default, "A"& $i) ;customer numb
	Local $sCustType= _Excel_RangeRead($oWorkbook, Default, "C"& $i) ;customer type
	Local $sClientID= _Excel_RangeRead($oWorkbook, Default, "D"& $i) ;customer ClientID
	Local $sCustName= _Excel_RangeRead($oWorkbook, Default, "E"& $i) ;customer Name

ConsoleWrite( $i & " " & $sCust & " " & $sCustType  & " " & $sClientID & " " & $sCustName & @CRLF )
	sleep(10)
	send("^n")
sleep(300)
	ControlSetText("JDA Solutions","","[NAME:txtCstnum]",$sCust)
	ControlCommand("JDA Solutions","","[NAME:dbcboClientId]","ShowDropDown", "")
	ControlCommand("JDA Solutions","","[NAME:dbcboClientId]","SelectString", $sClientID)
	ControlCommand("JDA Solutions","","[NAME:dbcboCsttyp]","ShowDropDown", "")
	ControlCommand("JDA Solutions","","[NAME:dbcboCsttyp]","SelectString", $sCustType)
	send("{ENTER}")
sleep(2000)
Next
EndFunc
 

Вложения

  • 2015-12-03_130004.jpg
    2015-12-03_130004.jpg
    10.4 КБ · Просмотры: 10
  • 2015-12-03_132123.jpg
    2015-12-03_132123.jpg
    75.8 КБ · Просмотры: 10
Автор
K

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Решил вопрос с помошью - ControlSend
Код:
#include <Excel.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>


Local $oExcel = _Excel_Open()
Local $sWorkbook = @ScriptDir & "\Customers.xlsx"
Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)

Func go()

For $i = 2 To 156
	Local $sCust= _Excel_RangeRead($oWorkbook, Default, "A"& $i) ;customer numb
	Local $sCustType= _Excel_RangeRead($oWorkbook, Default, "C"& $i) ;customer type
	Local $sClientID= _Excel_RangeRead($oWorkbook, Default, "D"& $i) ;customer ClientID
	Local $sCustName= _Excel_RangeRead($oWorkbook, Default, "E"& $i) ;customer Name

ConsoleWrite( $i & " " & $sCust & " " & $sCustType  & " " & $sClientID & " " & $sCustName & @CRLF )
	sleep(10)
	send("^n")
sleep(300)
	ControlSetText("JDA Solutions","","[NAME:txtCstnum]",$sCust)
		ControlSend("JDA Solutions","","[NAME:dbcboClientId]", $sClientID)
		ControlSend("JDA Solutions","","[NAME:dbcboCsttyp]", $sCustType)
	send("{ENTER}")
sleep(2000)
Next
EndFunc
 
Верх