
sysadmin
Members-
Posts
17 -
Joined
-
Last visited
About sysadmin
- Birthday 05/18/1983
sysadmin's Achievements

Seeker (1/7)
0
Reputation
-
No the ALT+O control does not work. What is making this so difficult the dropdown doesnt have its own control id. The navigation gets a little tricky for making the selection. I've tried sending a control click to another field and then the control click to the ok button, but I still get nothing.
-
I have been writing a script to interface with a software's GUI. I have one last step that I'm stumped on. Ive attached two files of screen shots of the info on what I'm trying to do. Attachment "File1" shows the last step on my navigation along with the window info tool. Once auto it changes the info that I need I need to click the "OK" at the bottom of the window. I have tried every combination of commands to navigate around and click on this button, but nothing seems to work. File2 shows the window info tool of the button I need to click on. Any Ideas? #include <File.au3> #include <Array.au3> #include <Excel.au3> ; opens excel workbook ;REST THE WORKBOOK FOR YOUR FILE PATH AND NAME Local $oExcel = _ExcelBookOpen("C:\autoit\searchresultstest.xls") ; reads data into array $aArray1 = _ExcelReadSheetToArray($oExcel, 1, 1, 0, 1, True) ; closes the excel workbook _ExcelBookClose($oExcel) ; displays the array that was read. _ArrayDisplay($aArray1) ; counts the number of rows in the array $rows = UBound($aArray1) - 1 ; waits for Corridor to become active and maximizes the window WinActive("CORRIDOR", "") WinSetState("CORRIDOR", "", @SW_MAXIMIZE) ; finds the window called Corridor and navigates to the parts in inventory WinActivate("CORRIDOR", "") Send("!t") Send("{down 2}") Send("{right}") Send("{down 3}") Send("{ENTER}") ; waits for the Corridor Parts in Inventory to be active WinWaitActive("CORRIDOR", "", 5) WinActivate("Current Parts in Inventory Search", "") ;Navigates to Part tab and lot number field WinWaitActive("CORRIDOR", "", 5) Sleep(500) ControlCommand("Current Parts in Inventory Search", "", "SysTabControl323", "TabRight", "") Sleep(500) Send("{TAB}") For $c = 1 To $rows WinWaitActive("Current Parts in Inventory Search", "Lot number:", 5) ControlClick("Current Parts in Inventory Search", "Lot number:", 1070, "left") ;Loads up lot number ControlSend("Current Parts in Inventory Search", "Lot number:", 1070, $aArray1[$c][0]) Sleep(250) ControlClick("Current Parts in Inventory Search", "Lot number:", 1063, "left") Sleep(250) ControlClick("Current Parts in Inventory Search", "Lot number:", 1663, "left") WinWaitActive("Edit Lot", "Lot number:", 10) ;set new owner and vendor ControlClick("Edit Lot", "Lot number:", 1053) Send("{TAB}") ControlSend("Edit Lot", "Lot number:", 1082, "{DEL}TEST") Send("{TAB}") ControlSend("Edit Lot", "Lot number:", 1142, "{DEL}TEST") ;changes aircraft serial number ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") Send("{TAB 4}") Send("{ENTER}") Send("{DOWN}") Send("{ENTER}") Send("{TAB}") ;Click OK ControlClick("Edit lot", "OK", 1, "left") ;wait to get back to search dialog WinWaitActive("Current Parts in Inventory Search", "Lot number:", 5) Send("{ALT}s" & "n") Next MsgBox(0, "Lot Updater", $rows & " lots have been updated.")
-
Well, I'm not trying to jump around to various locations. I need to go down in sequence on one column. The navigation through my GUI works fine I just dont think it is building the array from the Excel spread sheet. If I could just get this part nailed down I can start writing all of the other scripts I need to. For some reason this part is confusing the crap outa me.
-
Ok.... after many hours of searching and trial an error (plus some help from people) I have gotten most of this thing figured out. It runs half way through the script and then stops when it is supposed to input data from excel. I just cant figure out where the link is broken. #include <File.au3> #include <Array.au3> #include <Excel.au3> local $oExcel = _ExcelBookOpen("C:\Users\mcrown\Documents\searchresultstest.xls") $aArray1 = _ExcelReadSheetToArray($oExcel,1,1,0,1,True) _ExcelBookClose($oExcel) _ArrayDisplay($aArray1) $rows = UBound($aArray1)-1 WinActive("CORRIDOR", "") WinSetState("CORRIDOR","",@SW_MAXIMIZE) WinActivate("CORRIDOR", "") send("!t") send("{down 2}") send("{right}") send("{down 3}") send("{ENTER}") WinWaitActive("CORRIDOR", "", 5) WinActivate("Current Parts in Inventory Search", "") WinWaitActive("CORRIDOR", "", 5) ControlCommand("Current Parts in Inventory Search", "", "SysTabControl323", "TabRight", "") send("{TAB}") for $c = 1 to $rows ControlClick("Current Parts in Inventory Search", "Lot number", 1070, "left") WinWaitActive("Current Parts in Inventory", "Lot Number", 5) ControlSend("Current Parts in Inventory Search", "Lot Number", 1070, $aArray1[$c][0]) ControlClick("Current Parts in Inentory Search", "Scan", 1062, "left") ControlClick("Current Parts in Inventory Search", "open", 1663, "left") send("{TAB 7}") send("Lowcountry Trading IV, LLC") send("{TAB}") send("Lowcountry Trading IV, LLC") WinActivate("Edit Lot", "") WinWaitActive("Edit Lot", "", 3) ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") next Yes, I know I've probably added a lot of strings that are unnecessary, but I'm still learning.
-
I had this working before but now it doesn't and I can seem to figure out why. I'm writing a script to interface with a software's GUI. There is a window with 7 tabs. The window id tool list everything under one control id. i need to reach the 5th tab in this id which for me is 1152. I had it working before using ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "", but it no longer works. Am I missing a step?
-
ok. here is my finished script and it didnt work.... #include <excel.au3> $oExcel = _ExcelBookOpen("C:\Users\mcrown\Documents\searchresultstest.xls", 0) Global $iLastRow = $oExcel.Cells.SpecialCells($xlCellTypeLastCell).Row For $iIndex = 1 To $iLastRow $sValueA = _ExcelReadCell($oExcel, "A" & $iIndex) ConsoleWrite($sValueA & @CRLF) ; <== insert the code to write the value to the GUI WinWaitActive("CORRIDOR", "", 5) WinSetState("CORRIDOR", "", @SW_MAXIMIZE) Send("!t") Send("{down 2}") Send("{right}") Send("{down 3}") Send("{ENTER}") WinWaitActive("CORRIDOR", "", 5) ControlCommand("Current Parts in Inventory Search", "", "SysTabControl323", "TabRight", "") ControlClick("Current Parts in Inventory Search", "Less", 1947, "left") WinWait("Current Parts in Inventory Search", "", 3) ControlClick("Current Parts in Inventory Search", "Lot number", 1070, "left") ControlClick("Current Parts in Inventory Search", "Scan", 1063, "left") ControlClick("Current Parts in Inventory Search", "Open", 1663, "left") send("{TAB 7}") send("Lowcountry Trading IV, LLC") ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") ControlCommand("Edit Lot", "", "SysTabControl321", "TabRight", "") send("{TAB 4}") send("{ENTER}") send("{DOWN }") send("{ENTER}") Next _ExcelBookClose($oExcel) log of the runing script >"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Users\mcrown\Desktop\AutoIT\edit lot in test.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams +>16:11:05 Starting AutoIt3Wrapper v.2.0.1.24 Environment(Language:0409 Keyboard:00000409 OS:WIN_7/ CPU:X64 OS:X86) >Running AU3Check (1.54.19.0) from:C:\Program Files\AutoIt3 +>16:11:06 AU3Check ended.rc:0 >Running:(3.3.6.1):C:\Program Files\AutoIt3\autoit3.exe "C:\Users\mcrown\Desktop\AutoIT\edit lot in test.au3" C:\Users\mcrown\Desktop\AutoIT\edit lot in test.au3 (3) : ==> Variable must be of type "Object".: Global $iLastRow = $oExcel.Cells.SpecialCells($xlCellTypeLastCell).Row Global $iLastRow = $oExcel^ ERROR ->16:11:06 AutoIT3.exe ended.rc:1 >Exit code: 1 Time: 1.643
-
So here is my script. (its not 100% complete yet) Can you combine the two so I can see what I'm supposed to look like? Run("C:\CORRIDOR 9.50.23\Release\CORRIDOR.exe", "") WinWaitActive("System Login", "Production") WinActivate("System Login", "Database") ControlSend("System Login", "Password", 1002, "Password") Send("{ENTER}") WinWaitActive("CORRIDOR", "", 5) WinSetState("CORRIDOR", "", @SW_MAXIMIZE) Send("!t") Send("{down}") Send("{right}") Send("{down 3}") Send("{ENTER}") WinWaitActive("CORRIDOR", "", 5) ControlCommand("Current Parts in Inventory Search", "", "SysTabControl323", "TabRight", "") ControlClick("Current Parts in Inventory Search", "Less", 1947, "left") WinWait("Current Parts in Inventory Search", "", 3) ControlClick("Current Parts in Inventory Search", "Lot number", 1070, "left") ControlSend("Current Parts in Inventory Search", "Lot number", "Edit2", "LT11-02553") ControlClick("Current Parts in Inventory Search", "Scan", 1063, "left") ControlClick("Current Parts in Inventory Search", "Open", 1663, "left")
-
So how does auto it go down the list? It needs to run one lot number at a time.
-
O.k. The highlighted column in Excel is that I need to pull from. I need the script to start at the first cell, copy the data that is there, interact with the my software's GUI, and then grab the next number from the list. Over the past week I have figured out how to get Auto it to work with my GUI. That part has gotten easy. Getting auto it to pull from Excel is my final step. I could also use a little help on something else. How do I get auto it to remove data from a field in my GUI and replace it with something new. I'm just not sure which command to use.
-
I actually tried to upload some screenshots, but it said the file was too big to upload.
-
Well, I already have the functionality with the GUI for the software worked out. All I have left to write is grabbing a number from excel, interacting with with my GUI for the software, and then grabbing the next number and doing its thing.
-
Ok... After a week of posting here, and going cross eyed reading help files I have almost finished writing my first script. What it is supposed to do... This company uses an aviation management software called CORRIDOR to run every aspect of out business. We have a lot of items in out inventory that have incorrect data. There are two ways to change this data. Do it one by one, or pay the company that owns the software to do it for us (hence the use of auto it). Now our items in inventory all have what is called a "lot number". This number is unique to each physical part. I have these lot numbers in an Excel spread sheet. What I need to know.... How do I get auto it to go down the list of lot numbers in excel and interact with our software?
-
Continuing with my script for inventory management.... Once I get as far as i have gotten a window opens up that has two seperate parts in a list view. The window info tool lists it as a SysListView32. What i need to happen is choose something in this list, edit the info(i can handle that part) and then got to the next part in the list. I need it to do this for all of the parts in the list and then stop.
-
The window info tool sees the tool bar as one big tool bar and not as individual icons. The window info tool does give me a list of command id numbers.
-
For this particular toolbar there is no hot key combo, nor is there any underlying text.