lorenkinzel
Active Members-
Posts
198 -
Joined
-
Last visited
About lorenkinzel
- Birthday 07/28/1959
Profile Information
-
Location
left coast
-
Interests
yes....
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
lorenkinzel's Achievements
Prodigy (4/7)
17
Reputation
-
Lacking any information we can only stab in the dark & guess. Here is mine. Open Autoit help file, expand "function reference", expand "file directory and disk management", select "file copy". That shows how to copy files. Select "file move". You can use that to rename files. Of course hacking away at this without any help can be quite time consuming. If you give a wee bit of info on what you are doing, the highly experienced people of this forum can save you all that time and frustration. If your script is some kind of big secret, you can search the forum for "file copy" or "rename files" and see what others have done.
-
I was not going to ask about how to get around measures. I was considering posting a script that showed how to download images that do not have an option to save. I have decided not to. It seemed a bit odd to me that a 1 line script from the helpfile (inetGet) could seemingly violate forum rules. Thought I'd ask before posting. I suppose the same line of code can be used for good or for evil depending on who's driving the car. Thanks for your input.
-
Forum rules. Inetget (a website/an image, save as etc). When it is a question of forum rules I am reluctant to post code, even if it is pretty much straight from the helpfile. If I post code then why ask? I have already posted it. It deals with saving images that the site seemingly did not want you to save as there is no option for "save image".
-
In a case where images do not have a "save image as" option, would "Inet etc. (from helpfile)" be considered as bypassing security?
-
I would call it "unusual" as opposed to "improper". Excel, by design, isn't just for numbers. While this example is cell formatting, I find Excel quite handy as a drawing & image editing tool. In that use it is pretty under utilized.
-
Koda doesn't add ' GUICtrlSetOnEvent ' to buttons
lorenkinzel replied to TanjimReza's topic in AutoIt Technical Discussion
Initially I thought that your memory was faulty because I had not seen this before. Quick search of controls in scite; "options" > " code generator" use the checkboxes that appear. Restart Scite. I would never have discovered this without your question. Thanks. -
seadoggie01 reacted to a post in a topic: Windows Desktop Dimmer / Shade
-
AutoIt Watermark Image v0.89 beta build 2014-08-25
lorenkinzel replied to UEZ's topic in AutoIt Example Scripts
Put a ' ; ' in front of your line 55. $STM_SETIMAGE is declared in static constants.au3. Or remove the line. It is no longer needed. My best guess is that some of the includes have changed in the last 3 years since this thread has been active. I ran into the same issue, that was the fix. I copy the error "$STM_SETIMAGE" shown & look for it in all of the includes. If it has the same value you do not need that line. If it has a different value you need advice from someone besides me.- 76 replies
-
Much like an Autoit GUI except it is written in Lua instead of Autoit.
-
script can't find excel anymore
lorenkinzel replied to lorenkinzel's topic in AutoIt General Help and Support
Yes it is. The only reason I tried it is that I normally have DropBox turned off. 3 trials both ways & the results show DropBox to be causing my difficulties. The 1 machine in the office that could run the script properly does not have DropBox. If DropBox were the only problem surely someone else would have noticed by now. My issue seems to be over, if not solved & I no longer poo-poo error handlers. Thanks for your time. -
script can't find excel anymore
lorenkinzel replied to lorenkinzel's topic in AutoIt General Help and Support
It was being displayed, as I was using it. I turned DropBox back on & it failed with the same error message. Once DropBox was off again, the script worked fine again. No idea why but it does not work while DropBox is running. -
script can't find excel anymore
lorenkinzel replied to lorenkinzel's topic in AutoIt General Help and Support
This morning I replaced my error func with the one you gave me. com err_A2G.au3(278):==> COM Error intercepted! err.number is: 0x0000004 err.windescription is: err.source is: err.helpfile is: err.helpcontext is: err.lastdllerror is: 0 err.scriptline is: 278 err.retcode is: 0x00000000 A second error message gave row 279 as the error. Windescription: null pointer assignment (line 278 is $Row = $oExcel.ActiveCell.Row line 279 is $Column = $oExcel.ActiveCell.Column) It simply can't find the active cell. On a wild hunch I shut off DropBox & The script works again. I have no idea whatsoever has happened. -
script can't find excel anymore
lorenkinzel replied to lorenkinzel's topic in AutoIt General Help and Support
Will do on Monday. I previously thought that you didn't understand what I was saying. It appears to be the other way around. Within the help file I am finding: $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ; Install a custom error handler But what does "MyErrFunc" actually tell us. Please point me in a different direction. I see now there must be an error function that tells us WTF is going on. I just do not know where to find it . I appreciate your patience & do not expect you to fix this for me. -
script can't find excel anymore
lorenkinzel replied to lorenkinzel's topic in AutoIt General Help and Support
office 07 on the 2 that do not work. Office 10 on the 1 that works & the 1 that works with errors. no IT dept, just a lo-dollar guy who comes 2 days after I fix whatever problem (only 6 machines in the office). As far as I can tell there is no group policy (windows cannot find gpedit.msc) Error checking: no intelligent reply possible Line 64 $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc") ;Initialize a COM error handler(that I fail to understand. But it worked well for years! (not an excuse for bad coding practice) Point in curiosity being: why a functioning script stopped communicating with excel. I realize I have not given you much to work with. EDIT: on the error checking issue I was not contradicting you. I am in estimating & seldom deal with real people. My real people skills are somewhat less than polished. -
I have a few scripts that read/write to excel & have been using for a few years. No problems. As of today, on my work computer (win 7) the compiled script can not find active cell. One other computer at work (win 7) can not find the excel book. A third machine (win 7) has no problem with the script. A 4th (win 7) works with write errors. At home, (xp & win 8.1) all is well. The script is not running over a network, but on the individual machines. I'm speculating an update boo-boo or security issue? here's the script: #cs ---------------------------------------------------------------------------- beginnings of another helper for the GS spreadsheet #ce ---------------------------------------------------------------------------- #OnAutoItStartRegister "OnAutoItStart" #include <GUIConstantSex.au3> #include <GUIConstants.au3> #include <EditConstants.au3> #include <WindowsConstants.au3> #include <ButtonConstants.au3> #include <StaticConstants.au3> #include <Excel.au3> #include <SendMessage.au3> #include <GUIConstants.au3> #include <Misc.au3> Opt("WinTitleMatchMode", 2) Opt("GUIOnEventMode", 1) Global $inputType[22] Global $input1Num[22] Global $input2Num[22] Global $input3Num[22] Global $input4Num[22] Global $input5Num[22] Global $inputQty[22] Global $inputQty2[22] Global $inputQty3[22] Global $inputTCode[22] Global $__Restart = False;part of the restart func Global $oExcel = ObjGet("", "Excel.Application"); Get an EXISTING Excel Object (book open before script) Global Const $SC_DRAGMOVE = 0xF012 #Region topic/55024- Const $SC_MOVE = 0xF010 Const $SC_SIZE = 0xF000 Global $i_DRAGFULLWINDOWS_Current Global $i_DRAGFULLWINDOWS_Initial = _SPI_GETDRAGFULLWINDOWS() OnAutoItExitRegister("_Reset_DRAGFULLWINDOWS") Func _Reset_DRAGFULLWINDOWS() DllCall("user32.dll", "int", "SystemParametersInfo", "int", 37, "int", $i_DRAGFULLWINDOWS_Initial, "ptr", 0, "int", 2) EndFunc ;==>_Reset_DRAGFULLWINDOWS #EndRegion topic/55024- $theForm = GUICreate("Assemblies 2 go", 698, 708, @DesktopWidth - 710, 10, $WS_SIZEBOX + $WS_MAXIMIZEBOX + $WS_MINIMIZEBOX, $WS_EX_ACCEPTFILES) GUISetBkColor(0x8c6928, $theForm) WinSetOnTop($theForm, "", 1) GUISetOnEvent($GUI_EVENT_CLOSE, "xIt") GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "move");allow drag from any point on background ;topic/55024- GUIRegisterMsg($WM_EXITSIZEMOVE, "WM_EXITSIZEMOVE");>>>>>>>>>>>>>>>>>>>>>>>> GUIRegisterMsg($WM_SYSCOMMAND, "On_WM_SYSCOMMAND");>>>>>>>>>>>>>>>>>>>>>>>>>> ;topic/55024- Func move() _SendMessage($theForm, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0) EndFunc ;==>move Func xIt() GUISetStyle($theForm, -1, $WS_EX_COMPOSITED) DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $theForm, "int", 1000, "long", 0x00050010) ; implode (animation exit effect) Exit EndFunc ;==>xIt $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc") ;Initialize a COM error handler(that I fail to understand. $reStartButtonBorder = GUICtrlCreateLabel("", 0, 0, 17, 17) GUICtrlSetState($reStartButtonBorder, $GUI_DISABLE) GUICtrlSetBkColor($reStartButtonBorder, 0x00F000) $reStartButton = GUICtrlCreateButton("R", 1, 1, 15, 15) GUICtrlSetOnEvent($reStartButton, "_ScriptRestart") GUICtrlSetTip($reStartButton, "restart") $sourceButtonBorder = GUICtrlCreateLabel("", 640, 620, 17, 17) GUICtrlSetState($sourceButtonBorder, $GUI_DISABLE) GUICtrlSetBkColor($sourceButtonBorder, 0x00F000) $sourceButton = GUICtrlCreateButton("S", 641, 621, 15, 15) GUICtrlSetOnEvent($sourceButton, "showSource") GUICtrlSetTip($sourceButton, "deposit source-file at desktop") ;>>>>>>>>>>>>>>>>>>>mat type For $y = 0 To 21 $inputType[$y] = GUICtrlCreateInput("", 1, ($y) * 20 + 66, 145, 18) GUICtrlSetBkColor($inputType[$y], 0xC0D0FF) Next ;>>>>>>>>>>>>>>>>Qty per foot Primary assembly For $y = 0 To 21 $inputQty[$y] = GUICtrlCreateInput("", 151, ($y) * 20 + 66, 60, 18) GUICtrlSetBkColor($inputQty[$y], 0xC0D0FF) GUICtrlSetTip($inputQty[$y], ' Formulas in this column DO NOT begin with an " = "') Next ;>>>>>>>>>>>>>>>>Qty per foot Secondary assembly For $y = 0 To 21 $inputQty2[$y] = GUICtrlCreateInput("", 151 + 65, ($y) * 20 + 66, 60, 18) GUICtrlSetBkColor($inputQty2[$y], 0xC0D0FF) GUICtrlSetTip($inputQty2[$y], ' Formulas in this column DO NOT begin with an " = "') Next ;>>>>>>>>>>>>>>>>Qty per foot Third assembly For $y = 0 To 21 $inputQty3[$y] = GUICtrlCreateInput("", 151 + 130, ($y) * 20 + 66, 60, 18) GUICtrlSetBkColor($inputQty3[$y], 0xC0D0FF) GUICtrlSetTip($inputQty3[$y], ' Formulas in this column DO NOT begin with an " = "') Next ;>>>>>multiply qyt per foot to each grid $qtyMultiplyButton = GUICtrlCreateButton("populate", 164, 510, 85, 21) GUICtrlSetOnEvent($qtyMultiplyButton, "populate") ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>grid multiplier << how many feet in grid>> $gridMultLabel = GUICtrlCreateLabel("L.F. primary -->", 265, 1, 90, 18);265 $grid1Multiplier = GUICtrlCreateInput("", 361, 1, 50, 18) GUICtrlSetBkColor($grid1Multiplier, 0xC0D0FF) $grid2Multiplier = GUICtrlCreateInput("", 415, 1, 50, 18) GUICtrlSetBkColor($grid2Multiplier, 0xC0D0FF) $grid3Multiplier = GUICtrlCreateInput("", 469, 1, 50, 18) GUICtrlSetBkColor($grid3Multiplier, 0xC0D0FF) $grid4Multiplier = GUICtrlCreateInput("", 523, 1, 50, 18) GUICtrlSetBkColor($grid4Multiplier, 0xC0D0FF) $grid5Multiplier = GUICtrlCreateInput("", 577, 1, 50, 18) GUICtrlSetBkColor($grid5Multiplier, 0xC0D0FF) ;==========================================multiplier for secondary assembly type $gridMultLabel2 = GUICtrlCreateLabel("L.F. secondary -->", 265, 21, 90, 18) $grid1Multiplier2 = GUICtrlCreateInput("", 361, 21, 50, 18) GUICtrlSetBkColor($grid1Multiplier2, 0xC0D0FF) $grid2Multiplier2 = GUICtrlCreateInput("", 415, 21, 50, 18) GUICtrlSetBkColor($grid2Multiplier2, 0xC0D0FF) $grid3Multiplier2 = GUICtrlCreateInput("", 469, 21, 50, 18) GUICtrlSetBkColor($grid3Multiplier2, 0xC0D0FF) $grid4Multiplier2 = GUICtrlCreateInput("", 523, 21, 50, 18) GUICtrlSetBkColor($grid4Multiplier2, 0xC0D0FF) $grid5Multiplier2 = GUICtrlCreateInput("", 577, 21, 50, 18) GUICtrlSetBkColor($grid5Multiplier2, 0xC0D0FF) ;==========================================multiplier for third assembly type $gridMultLabel3 = GUICtrlCreateLabel("L.F. 3rd -->", 265, 41, 90, 18) $grid1Multiplier3 = GUICtrlCreateInput("", 361, 41, 50, 18) GUICtrlSetBkColor($grid1Multiplier3, 0xC0D0FF) $grid2Multiplier3 = GUICtrlCreateInput("", 415, 41, 50, 18) GUICtrlSetBkColor($grid2Multiplier3, 0xC0D0FF) $grid3Multiplier3 = GUICtrlCreateInput("", 469, 41, 50, 18) GUICtrlSetBkColor($grid3Multiplier3, 0xC0D0FF) $grid4Multiplier3 = GUICtrlCreateInput("", 523, 41, 50, 18) GUICtrlSetBkColor($grid4Multiplier3, 0xC0D0FF) $grid5Multiplier3 = GUICtrlCreateInput("", 577, 41, 50, 18) GUICtrlSetBkColor($grid5Multiplier3, 0xC0D0FF) ;>>>>>>>>>>>>>>>>>>>Qty1 For $y = 0 To 21 $input1Num[$y] = GUICtrlCreateInput("", 361, ($y) * 20 + 66, 50, 18) Next ;>>>>>>>>>>>>>>>>>>>Qty2 For $y = 0 To 21 $input2Num[$y] = GUICtrlCreateInput("", 415, ($y) * 20 + 66, 50, 18) Next ;>>>>>>>>>>>>>>>>>>>Qty3 For $y = 0 To 21 $input3Num[$y] = GUICtrlCreateInput("", 469, ($y) * 20 + 66, 50, 18) Next ;>>>>>>>>>>>>>>>>>>>Qty4 For $y = 0 To 21 $input4Num[$y] = GUICtrlCreateInput("", 523, ($y) * 20 + 66, 50, 18) Next ;>>>>>>>>>>>>>>>>>>>Qty5 For $y = 0 To 21 $input5Num[$y] = GUICtrlCreateInput("", 578, ($y) * 20 + 66, 50, 18) Next ;>>>>>>>time-code inputs For $y = 0 To 21 $inputTCode[$y] = GUICtrlCreateInput("", 635, ($y) * 20 + 66, 60, 18) GUICtrlSetBkColor($inputTCode[$y], 0xC0D0FF) GUICtrlSetTip($inputTCode[$y], 'any formulas in this column MUST begin with an " = "') Next ;>navigation instruments $bookNameInput = GUICtrlCreateLabel("", 1, 610, 283, 18) $activeRowNumInput = GUICtrlCreateLabel("active row #", 1, 629, 80, 18) $activeColumnNumInput = GUICtrlCreateLabel("active column #", 1, 648, 80, 18) $row_colSplitButton = GUICtrlCreateButton("get excel cell", 83, 628, 121, 20) GUICtrlSetOnEvent($row_colSplitButton, "splitCellNum") ;>>>>>>>>>write item types to excel $writeButton = GUICtrlCreateButton("write data", 10, 510, 121, 21) GUICtrlSetOnEvent($writeButton, "writeToExcel") ;>>>>>>>>>write quantities to excel $grid1Button = GUICtrlCreateButton("write", 361, 510, 50, 20);361 GUICtrlSetOnEvent($grid1Button, "WriteGrid1") $grid2Button = GUICtrlCreateButton("write", 415, 510, 50, 20);415 GUICtrlSetOnEvent($grid2Button, "WriteGrid2") $grid3Button = GUICtrlCreateButton("write", 469, 510, 50, 20);469 GUICtrlSetOnEvent($grid3Button, "WriteGrid3") $grid4Button = GUICtrlCreateButton("write", 523, 510, 50, 20);523 GUICtrlSetOnEvent($grid4Button, "WriteGrid4") $grid5Button = GUICtrlCreateButton("write", 577, 510, 50, 20);577 GUICtrlSetOnEvent($grid5Button, "WriteGrid5") ;>>>>>>>>>write time-codes to excel $TCodeButton = GUICtrlCreateButton("write", 640, 510, 50, 20) GUICtrlSetOnEvent($TCodeButton, "writeTimeCode") ;>>>>>>>>>>section visual seperators (black lines)GUICtrlCreateGraphic $line = GUICtrlCreateLabel("", 1, 540, 681, 4) GUICtrlSetBkColor($line, 0x000000) $line2 = GUICtrlCreateLabel("", 147, 540, 4, 60) GUICtrlSetBkColor($line2, 0x000000) $line3 = GUICtrlCreateLabel("", 1, 600, 150, 4) GUICtrlSetBkColor($line3, 0x000000) ;>>>>>>> .ini items $nuIniInput = GUICtrlCreateInput("", 1, 550, 145, 21);enter name of new .ini(assembly) $nuIniButton = GUICtrlCreateButton("save as new assembly", 1, 575, 145, 21);save assembly GUICtrlSetTip($nuIniButton, "enter name first") GUICtrlSetOnEvent($nuIniButton, "saveNuAssembly") $loadAssemblyButton = GUICtrlCreateButton("load saved assembly", 160, 550, 145, 21);Load existing assembly GUICtrlSetOnEvent($loadAssemblyButton, "loadAssembly") $dragLoadAssemblyInput = GUICtrlCreateInput("", 315, 550, 245, 50);Load existing assembly via drag-drop GUICtrlSetState($dragLoadAssemblyInput, $GUI_DROPACCEPTED) GUICtrlSetTip($dragLoadAssemblyInput, "drag .ass file here") GUISetOnEvent($GUI_EVENT_DROPPED, "dragLoadAssembly") $refreshButton = GUICtrlCreateButton("find excel book", 315, 605, 245, 20) GUICtrlSetOnEvent($refreshButton, "refreshOexcel") $wintitle = WinGetTitle(".xls") GUICtrlSetData($bookNameInput, $wintitle) GUISetState(@SW_SHOW) While 1 Sleep(10) WEnd ;topic/55024- Func On_WM_SYSCOMMAND($hWnd, $Msg, $wParam, $lParam) Switch BitAND($wParam, 0xFFF0) Case $SC_MOVE, $SC_SIZE $i_DRAGFULLWINDOWS_Current = _SPI_GETDRAGFULLWINDOWS() DllCall("user32.dll", "int", "SystemParametersInfo", "int", 37, "int", 0, "ptr", 0, "int", 2) EndSwitch EndFunc ;==>On_WM_SYSCOMMAND Func WM_EXITSIZEMOVE() DllCall("user32.dll", "int", "SystemParametersInfo", "int", 37, "int", $i_DRAGFULLWINDOWS_Current, "ptr", 0, "int", 2) EndFunc ;==>WM_EXITSIZEMOVE Func _SPI_GETDRAGFULLWINDOWS() $tBool = DllStructCreate("int") DllCall("user32.dll", "int", "SystemParametersInfo", "int", 38, "int", 0, "ptr", DllStructGetPtr($tBool), "int", 0) Return DllStructGetData($tBool, 1) EndFunc ;==>_SPI_GETDRAGFULLWINDOWS ;topic/55024- Func MyErrFunc();by others Local $err = $oMyError.number If $err = 0 Then $err = -1 SetError($err) EndFunc ;==>MyErrFunc Func refreshOexcel();==========================Allows reading Excel book that was started after script. I forget sometimes to stert Excel first. $oExcel = "" $wintitle = "" Sleep(100) $oExcel = ObjGet("", "Excel.Application") $wintitle = WinGetTitle(".xls") Sleep(100) GUICtrlSetData($bookNameInput, $wintitle) EndFunc ;==>refreshOexcel Func splitCellNum();get R1C1 address of selected cell If GUICtrlRead($bookNameInput) <> "" Then;keeps it from crashing if excel is not open While WinExists($wintitle) $Row = $oExcel.ActiveCell.Row $Column = $oExcel.ActiveCell.Column GUICtrlSetData($activeRowNumInput, $Row) GUICtrlSetData($activeColumnNumInput, $Column) Sleep(100) ExitLoop WEnd EndIf EndFunc ;==>splitCellNum Func writeToExcel();the item-type inputs splitCellNum() Sleep(100) GUICtrlSetBkColor($writeButton, 0xFFD0B0) Local $Row = Number(GUICtrlRead($activeRowNumInput)) Local $rowNum = $Row Local $Column = Number(GUICtrlRead($activeColumnNumInput)) For $y = 0 To 21 _ExcelWriteCell($oExcel, GUICtrlRead($inputType[$y]), $rowNum, $Column) Sleep(500) $rowNum += 1 Next GUICtrlSetStyle($writeButton, 0) EndFunc ;==>writeToExcel Func WriteGrid1();write the quantity inputs to excel splitCellNum() Sleep(100) GUICtrlSetBkColor($grid1Button, 0xFFD0B0); so you know when function is still running. Local $Row = Number(GUICtrlRead($activeRowNumInput)) Local $rowNum = $Row Local $Column = Number(GUICtrlRead($activeColumnNumInput)) For $y = 0 To 21 _ExcelWriteCell($oExcel, GUICtrlRead($input1Num[$y]), $rowNum, $Column) Sleep(10) $rowNum += 1 Next GUICtrlSetStyle($grid1Button, 0);the function is finished. The button is no longer orange. EndFunc ;==>WriteGrid1 Func WriteGrid2() splitCellNum() Sleep(100) GUICtrlSetBkColor($grid2Button, 0xFFD0B0) Local $Row = Number(GUICtrlRead($activeRowNumInput)) Local $rowNum = $Row Local $Column = Number(GUICtrlRead($activeColumnNumInput)) For $y = 0 To 21 _ExcelWriteCell($oExcel, GUICtrlRead($input2Num[$y]), $rowNum, $Column) Sleep(10) $rowNum += 1 Next GUICtrlSetStyle($grid2Button, 0) EndFunc ;==>WriteGrid2 Func WriteGrid3() splitCellNum() Sleep(100) GUICtrlSetBkColor($grid3Button, 0xFFD0B0) Local $Row = Number(GUICtrlRead($activeRowNumInput)) Local $rowNum = $Row Local $Column = Number(GUICtrlRead($activeColumnNumInput)) For $y = 0 To 21 _ExcelWriteCell($oExcel, GUICtrlRead($input3Num[$y]), $rowNum, $Column) Sleep(10) $rowNum += 1 Next GUICtrlSetStyle($grid3Button, 0) EndFunc ;==>WriteGrid3 Func WriteGrid4() splitCellNum() Sleep(100) GUICtrlSetBkColor($grid4Button, 0xFFD0B0) Local $Row = Number(GUICtrlRead($activeRowNumInput)) Local $rowNum = $Row Local $Column = Number(GUICtrlRead($activeColumnNumInput)) For $y = 0 To 21 _ExcelWriteCell($oExcel, GUICtrlRead($input4Num[$y]), $rowNum, $Column) Sleep(10) $rowNum += 1 Next GUICtrlSetStyle($grid4Button, 0) EndFunc ;==>WriteGrid4 Func WriteGrid5() splitCellNum() Sleep(100) GUICtrlSetBkColor($grid5Button, 0xFFD0B0) Local $Row = Number(GUICtrlRead($activeRowNumInput)) Local $rowNum = $Row Local $Column = Number(GUICtrlRead($activeColumnNumInput)) For $y = 0 To 21 _ExcelWriteCell($oExcel, GUICtrlRead($input5Num[$y]), $rowNum, $Column) Sleep(10) $rowNum += 1 Next GUICtrlSetStyle($grid5Button, 0) EndFunc ;==>WriteGrid5 Func writeTimeCode();allows entering time codes without overwriting stock codes splitCellNum() Sleep(100) GUICtrlSetBkColor($TCodeButton, 0xFFD0B0) Local $Row = Number(GUICtrlRead($activeRowNumInput)) Local $rowNum = $Row Local $Column = Number(GUICtrlRead($activeColumnNumInput)) For $y = 0 To 21 Local $materialType = GUICtrlRead($inputType[$y]) Local $noEqSign = StringLeft($materialType, 1) If $noEqSign <> "=" Then _ExcelWriteCell($oExcel, GUICtrlRead($inputTCode[$y]), $rowNum, $Column) EndIf Sleep(10) $rowNum += 1 Next GUICtrlSetStyle($TCodeButton, 0) EndFunc ;==>writeTimeCode Func populate();allows you to enter formula rather than just a number. Easier to modify in other projects. For $y = 0 To 21 GUICtrlSetData($inputQty[$y], Execute(GUICtrlRead($inputQty[$y])));each input becomes a calculator Next populateGrids() For $y = 0 To 21 GUICtrlSetData($inputQty2[$y], Execute(GUICtrlRead($inputQty2[$y]))) Next populateGrids() For $y = 0 To 21 GUICtrlSetData($inputQty3[$y], Execute(GUICtrlRead($inputQty3[$y]))) Next populateGrids() EndFunc ;==>populate Func populateGrids();Multiply item/L.F. by the footage in each grid ;inptuQty = how much per foot gridMultiplier = how many feet Local $footage1 = Number(GUICtrlRead($grid1Multiplier)) Local $footage1b = Number(GUICtrlRead($grid1Multiplier2)) Local $footage1c = Number(GUICtrlRead($grid1Multiplier3)) For $y = 0 To 21 $a = (Number(GUICtrlRead($inputQty[$y])) * $footage1) $b = Ceiling($a) $c = (Number(GUICtrlRead($inputQty2[$y])) * $footage1b) $d = Ceiling($c) $e = (Number(GUICtrlRead($inputQty3[$y])) * $footage1c) $f = Ceiling($e) GUICtrlSetData($input1Num[$y], $b + $d + $f) If GUICtrlRead($input1Num[$y]) = 0 Then GUICtrlSetData($input1Num[$y], "") EndIf Next Local $footage2 = Number(GUICtrlRead($grid2Multiplier)) Local $footage2b = Number(GUICtrlRead($grid2Multiplier2)) Local $footage2c = Number(GUICtrlRead($grid2Multiplier3)) For $y = 0 To 21 $a = (Number(GUICtrlRead($inputQty[$y])) * $footage2) $b = Ceiling($a) $c = (Number(GUICtrlRead($inputQty2[$y])) * $footage2b) $d = Ceiling($c) $e = (Number(GUICtrlRead($inputQty3[$y])) * $footage2c) $f = Ceiling($e) GUICtrlSetData($input2Num[$y], $b + $d + $f) If GUICtrlRead($input2Num[$y]) = 0 Then GUICtrlSetData($input2Num[$y], "") EndIf Next Local $footage3 = Number(GUICtrlRead($grid3Multiplier)) Local $footage3b = Number(GUICtrlRead($grid3Multiplier2)) Local $footage3c = Number(GUICtrlRead($grid3Multiplier3)) For $y = 0 To 21 $a = (Number(GUICtrlRead($inputQty[$y])) * $footage3) $b = Ceiling($a) $c = (Number(GUICtrlRead($inputQty2[$y])) * $footage3b) $d = Ceiling($c) $e = (Number(GUICtrlRead($inputQty3[$y])) * $footage3c) $f = Ceiling($e) GUICtrlSetData($input3Num[$y], $b + $d + $f) If GUICtrlRead($input3Num[$y]) = 0 Then GUICtrlSetData($input3Num[$y], "") EndIf Next Local $footage4 = Number(GUICtrlRead($grid4Multiplier)) Local $footage4b = Number(GUICtrlRead($grid4Multiplier2)) Local $footage4c = Number(GUICtrlRead($grid4Multiplier3)) For $y = 0 To 21 $a = (Number(GUICtrlRead($inputQty[$y])) * $footage4) $b = Ceiling($a) $c = (Number(GUICtrlRead($inputQty2[$y])) * $footage4b) $d = Ceiling($c) $e = (Number(GUICtrlRead($inputQty3[$y])) * $footage4c) $f = Ceiling($e) GUICtrlSetData($input4Num[$y], $b + $d + $f) If GUICtrlRead($input4Num[$y]) = 0 Then GUICtrlSetData($input4Num[$y], "") EndIf Next Local $footage5 = Number(GUICtrlRead($grid5Multiplier)) Local $footage5b = Number(GUICtrlRead($grid5Multiplier2)) Local $footage5c = Number(GUICtrlRead($grid5Multiplier3)) For $y = 0 To 21 $a = (Number(GUICtrlRead($inputQty[$y])) * $footage5) $b = Ceiling($a) $c = (Number(GUICtrlRead($inputQty2[$y])) * $footage5b) $d = Ceiling($c) $e = (Number(GUICtrlRead($inputQty3[$y])) * $footage5c) $f = Ceiling($e) GUICtrlSetData($input5Num[$y], $b + $d + $f) If GUICtrlRead($input5Num[$y]) = 0 Then GUICtrlSetData($input5Num[$y], "") EndIf Next EndFunc ;==>populateGrids Func saveNuAssembly(); save the assembly as an .ini (I chose the ext .ass). For Assembly. $name = GUICtrlRead($nuIniInput) For $y = 0 To 21 IniWrite(@ScriptDir & "\" & $name & ".ass", $y, "item", GUICtrlRead($inputType[$y])) IniWrite(@ScriptDir & "\" & $name & ".ass", $y, "qty", GUICtrlRead($inputQty[$y])) IniWrite(@ScriptDir & "\" & $name & ".ass", $y, "qty2", GUICtrlRead($inputQty2[$y])) IniWrite(@ScriptDir & "\" & $name & ".ass", $y, "qty3", GUICtrlRead($inputQty3[$y])) IniWrite(@ScriptDir & "\" & $name & ".ass", $y, "T-Code", GUICtrlRead($inputTCode[$y])) Next EndFunc ;==>saveNuAssembly Func loadAssembly(); load an existing assembly into the "item" & "qty" inputs ;If GUICtrlRead($dragLoadAssemblyInput) <> "" Then ; dragLoadAssembly() ;Else $location = @ScriptDir $openedFile = FileOpenDialog("select assembly", $location, "(*.ass)", 5) For $y = 0 To 21 GUICtrlSetData($inputType[$y], IniRead($openedFile, $y, "item", "")) GUICtrlSetData($inputQty[$y], IniRead($openedFile, $y, "qty", "")) GUICtrlSetData($inputQty2[$y], IniRead($openedFile, $y, "qty2", "")) GUICtrlSetData($inputQty3[$y], IniRead($openedFile, $y, "qty3", "")) GUICtrlSetData($inputTCode[$y], IniRead($openedFile, $y, "T-Code", "")) Next ;EndIf EndFunc ;==>loadAssembly Func dragLoadAssembly(); load an existing assembly into the "item" & "qty" inputs via drag-drop Local $read = GUICtrlRead($dragLoadAssemblyInput) If $read <> "" Then Local $openedFile = $read For $y = 0 To 21 GUICtrlSetData($inputType[$y], IniRead($openedFile, $y, "item", "")) GUICtrlSetData($inputQty[$y], IniRead($openedFile, $y, "qty", "")) GUICtrlSetData($inputQty2[$y], IniRead($openedFile, $y, "qty2", "")) GUICtrlSetData($inputTCode[$y], IniRead($openedFile, $y, "T-Code", "")) GUICtrlSetData($inputQty3[$y], IniRead($openedFile, $y, "qty3", "")) GUICtrlSetData($inputTCode[$y], IniRead($openedFile, $y, "T-Code", "")) Next EndIf EndFunc ;==>dragLoadAssembly ;>>>>>>>>>>>>>>script restart Func _ScriptRestart();_ScriptRestart($fExit = 1) Yashied Local $fExit = 1 Local $Pid If Not $__Restart Then If @Compiled Then $Pid = Run(@ScriptFullPath & ' ' & $CmdLineRaw, @ScriptDir, Default, 1) Else $Pid = Run(@AutoItExe & ' "' & @ScriptFullPath & '" ' & $CmdLineRaw, @ScriptDir, Default, 1) EndIf If @error Then Return SetError(@error, 0, 0) EndIf StdinWrite($Pid, @AutoItPID) EndIf $__Restart = 1 If $fExit Then Sleep(50) Exit EndIf Return 1 EndFunc ;==>_ScriptRestart Func OnAutoItStart() Sleep(50) Local $Pid = ConsoleRead(1) If @extended Then While ProcessExists($Pid) Sleep(100) WEnd EndIf EndFunc ;==>OnAutoItStart ;>>>>>>>>>>>>>>>>>deposit source code .au3 at desktop ;This is a literal filepath & must be changed to where YOUR script is Func showSource() FileInstall("Q:\au3 projects\level 11\a2g dev\IP_A2G.au3", @DesktopDir & "\IP_A2G.au3");check / fix path EndFunc ;==>showSource Any thoughts? mine have run dry. The script works fine other than it can not communicate with excel anymore, which is a deal-breaker. Thanks for any input. AutoIt Version: 3.3.9.22 (Beta) so non-compiled version won't work for everyone.