Docfxit Posted October 4, 2014 Posted October 4, 2014 (edited) I would like to change the category in a lot of entries in Quicken 2014. When I run my script compiled the send isn't sending into the focused box. QuickenChangeCatagory.au3 Opt("WinWaitDelay",100) Opt("WinTitleMatchMode",4) Opt("WinDetectHiddenText",1) Opt("MouseCoordMode",0) Opt("SendKeyDelay", 100) #include <GuiEdit.au3> WinWait("Quicken 2014 Rental Property Manager - QuickenCurrentCpy2 - [Primary]","Downloaded Transacti") If Not WinActive("Quicken 2014 Rental Property Manager - QuickenCurrentCpy2 - [Primary]","Downloaded Transacti") Then WinActivate("Quicken 2014 Rental Property Manager - QuickenCurrentCpy2 - [Primary]","Downloaded Transacti") WinWaitActive("Quicken 2014 Rental Property Manager - QuickenCurrentCpy2 - [Primary]","Downloaded Transacti") _GUICtrlEdit_GetSel("QREdit1") Send("^{Insert}") ;I want to highlight anything that is in the field so the next line will overwrite it Send("electric") ;This is the new catagory ~*~*~*~*~ This doesn't send Sleep(2000) Send("{TAB}") Sleep(200) Send("{ALTDOWN}a{ALTUP}{UP}{UP}") ;This will save the entry and move to the next entry up ~*~*~*~*~ This does work Before I run the script I have the correct category field selected with the mouse. This is what the AutoIt Window Info shows for the category field: expandcollapse popup>>>> Window <<<< Title: Quicken 2014 Rental Property Manager - QuickenCurrentCpy2 - [Primary] Class: QFRAME Position: 9, 31 Size: 1329, 810 Style: 0x11000000 ExStyle: 0x00000000 Handle: 0x00010954 >>>> Control <<<< Class: QREdit Instance: 1 ClassnameNN: QREdit1 Name: Advanced (Class): [CLASS:QREdit; INSTANCE:1] ID: 3 Text: Position: 388, 315 Size: 187, 14 ControlClick Coords: 82, 5 Style: 0x54000080 ExStyle: 0x00000000 Handle: 0x00010BF2 >>>> Mouse <<<< Position: 479, 371 Cursor ID: 0 Color: 0xFFFFFF >>>> StatusBar <<<< >>>> ToolsBar <<<< >>>> Visible Text <<<< Primary 4,816.56 18,063.57 Ending Balance: Online Balance: 2967 Transactions Downloaded Transactions (0) Bill and Income Reminders (0 Due) FI LOGO TxList TxToolbar S&ave C All Dates Any Type All Transactions Reset Tips & Tutorials Panel Home Customize Panel LAST 30 DAYS SPENDING (9/2014 - 10/2014) Examine Your Spending Panel 10 Uncategorized Transactions Panel Panel Eliminate late fees and overdraft charges with an accurate picture of where your bank balance stands. Why do this? Avoid late fees and overdraft charges. What's needed? A month or two of categorized transactions in your spending accounts. Quicken automatically finds your bills and income and helps you get started. So easy! Get Started Panel Panel Automatically create a budget to track your top spending areas. Why do this? Take control of your spending and meet your long-term financial goals. What's needed? Nothing. Get Started Panel Home Spending Bills Planning Investing Property && Debt Business Rental Property Mobile && Alerts Tips && Tutorials Primary Accounts Help To Do All Transactions Banking Banking Investing Investing Add an Account QSideBar search >>>> Hidden Text <<<< More Ending Balance: Update Transactions Set Up Online Payment Return to Reconcile Show Payment Graph Renaming Rules Hide Accepted Accept All Accept Finish Later Online Payments Investing Cash Cleared QIF File Pocket Quicken WebEntry Quicken.com QuickEntry For account Show Show graph Show calendar Sep October 2014 Nov Add Reminder Manage Reminders 4,816.56 Panel You have no spending in the selected date range. (There may be no transactions or the total may be positive) TOTAL SPENDING $5,538 in All Categories All Accounts Stay On Top of Monthly Bills 5 MINUTES to complete Go to full budget View updates Budget Your Spending 5 MINUTES to complete Sep October 2014 Nov Using Quicken Quicken Services Add View View Guidance Rental Property Business Property & Debt Savings Goals Separate Net Worth More Panel Download your transactions One Step Update One Step Update complete There are errors or messages for you to review. View Summary View Reminders Remove completed items « Previous More » Thank you for any suggestions, Docfxit Edited October 5, 2014 by Docfxit
Danp2 Posted October 5, 2014 Posted October 5, 2014 I don't think this line is doing what you think it is: _GUICtrlEdit_GetSel("QREdit1") You may want to try replacing it with: ControlFocus("Quicken 2014", "", "[CLASSNN:QREdit]") I haven't used Quicken in ages, but assuming that this is a combobox the following should work: $hCombo = ControlGetHandle ("Quicken 2014", "", "[CLASSNN:QREdit]") _GUICtrlComboBox_SetEditText ($hCombo, "Electric") Latest Webdriver UDF Release Webdriver Wiki FAQs
Docfxit Posted October 5, 2014 Author Posted October 5, 2014 Thank you very much for the reply... I tried this: Opt("WinWaitDelay",100) Opt("WinTitleMatchMode",4) Opt("WinDetectHiddenText",1) Opt("MouseCoordMode",0) Opt("SendKeyDelay", 100) #include <GuiComboBox.au3> ControlFocus("Quicken 2014", "", "[ClassNN:QREdit]") $hCombo = ControlGetHandle ("Quicken 2014", "", "[CLASSNN:QREdit]") MsgBox(1,"Test", "Handle = ", $hCombo) _GUICtrlComboBox_SetEditText ($hCombo, "Electric") Sleep(500) Send("{TAB}") Sleep(500) Send("{ALTDOWN}a{ALTUP}") ;This will save the entry Sleep(500) Send("{UP}{UP}") ;This will move to the next entry up And the Handle = 0x00000000 So I tried this: (changing QREdit to QREdit1) Opt("WinWaitDelay",100) Opt("WinTitleMatchMode",4) Opt("WinDetectHiddenText",1) Opt("MouseCoordMode",0) Opt("SendKeyDelay", 100) #include <GuiComboBox.au3> ControlFocus("Quicken 2014", "", "[ClassNN:QREdit1]") $hCombo = ControlGetHandle ("Quicken 2014", "", "[CLASSNN:QREdit1]") MsgBox(1,"Test", "Handle = ", $hCombo) _GUICtrlComboBox_SetEditText ($hCombo, "Electric") Sleep(500) Send("{TAB}") Sleep(500) Send("{ALTDOWN}a{ALTUP}") ;This will save the entry Sleep(500) Send("{UP}{UP}") ;This will move to the next entry up Now the Handle = 0x00030c78 So I think this is definitely progress. But "Electric" still isn't going into the box. The rest of the script appears to be working. Am I doing something wrong? I have tried it interactive and compiled. AutoIt ver. 3.3.12.0 Beta ver. 3.3.13.19 Thank you, Docfxit
Danp2 Posted October 5, 2014 Posted October 5, 2014 Yeah... it needs the 1, which I missed in my earlier copy and paste job. Is it possible that you have the wrong control? Seems like I ran into something similar in the past when I was sending data to Quickbooks. Is there perhaps a parent control that would be better suited for this? Latest Webdriver UDF Release Webdriver Wiki FAQs
Bert Posted October 5, 2014 Posted October 5, 2014 May I also suggest you use controlsend instead of send? It will make your script more stable. The Vollatran project My blog: http://www.vollysinterestingshit.com/
Docfxit Posted October 6, 2014 Author Posted October 6, 2014 Yeah... it needs the 1, which I missed in my earlier copy and paste job. Is it possible that you have the wrong control? Seems like I ran into something similar in the past when I was sending data to Quickbooks. Is there perhaps a parent control that would be better suited for this? I don't see how that could be possible. When I use AutoIt Window Info Tool it highlights the box by outlining it in dark black. Thanks, Docfxit
Docfxit Posted October 6, 2014 Author Posted October 6, 2014 May I also suggest you use controlsend instead of send? It will make your script more stable. I have made the change. Thank you, Docfxit
Docfxit Posted October 7, 2014 Author Posted October 7, 2014 I still can't get it to send "Electrict" to the category combobox. I don't know how to use Control Viewer but this is what it looks like: This was taken with the original compiled Control Viewer. I tried adding the changes to the source code created by BrewManNH but couldn't get it to compile. I posted the problem here: '?do=embed' frameborder='0' data-embedContent>> I'm hoping someone here knows how to use Control Viewer and will guide me. Thank you, Docfxit
Solution Docfxit Posted October 7, 2014 Author Solution Posted October 7, 2014 (edited) I finally got this to work. I wasn't able to get _GUICtrlComboBox_SetEditText to work. I was able to get ControlSend to work. This is the code I ended up with: Opt("WinWaitDelay", 100) Opt("WinTitleMatchMode", 4) Opt("WinDetectHiddenText", 1) Opt("MouseCoordMode", 0) Opt("SendKeyDelay", 100) #include <GuiComboBox.au3> WinWait("Quicken 2014 Rental Property Manager - QuickenCurrentCpy2 - [Primary]", "Downloaded Transacti") If Not WinActive("Quicken 2014 Rental Property Manager - QuickenCurrentCpy2 - [Primary]", "Downloaded Transacti") Then WinActivate("Quicken 2014 Rental Property Manager - QuickenCurrentCpy2 - [Primary]", "Downloaded Transacti") WinWaitActive("Quicken 2014 Rental Property Manager - QuickenCurrentCpy2 - [Primary]", "Downloaded Transacti") $QuickenTitle = "Quicken 2014" ControlFocus($QuickenTitle, "", "[ClassNN:QREdit1]") $hCombo = ControlGetHandle($QuickenTitle, "", "[ClassNN:QREdit1]") ;_GUICtrlComboBox_SetEditText ($hCombo, "Electric") ;This line didn't work ControlSend($QuickenTitle, '', "[ClassNN:QREdit1]", "Electric", 1) ;This line does work Sleep(100) Send("{TAB}") Send("{ALTDOWN}a{ALTUP}") ;This will save the entry Send("{UP}{UP}{TAB}{TAB}{TAB}{TAB}") ;This will move to the next entry up Thank you all for the help. Docfxit Edited October 7, 2014 by Docfxit
Danp2 Posted October 7, 2014 Posted October 7, 2014 Glad that you found a workable solution. FWIW, you can probably delete these two lines: ControlFocus($QuickenTitle, "", "[ClassNN:QREdit1]") $hCombo = ControlGetHandle($QuickenTitle, "", "[ClassNN:QREdit1]") Latest Webdriver UDF Release Webdriver Wiki FAQs
Docfxit Posted October 7, 2014 Author Posted October 7, 2014 Thank you, I didn't notice I wasn't using them any longer. It's always nice to get AutoIt to provide a solution to make life easier. Thanks, Docfxit
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now