Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/23/2015 in all areas

  1. What you see in the Excel GUI after entering data (either manually or by the Excel UDF) depends on the format you have set for the cells or by the way the data is interpreted by Excel when the cell format is set to Default. I assume Execel interprets the data "11-20" as date (20th of November) and 44216 is the internal representation of this date. Set the cell format for "Numbers" (or whatever it is called in an engl./american Excel version) and see what you get.
    1 point
  2. Use ControlGetHandle to get the handle to the control you need, handles change every time you run the script as a general rule. You don't have to use the numeric control ID of the control in the function, there are other ways of determining which control you want to get the handle from.
    1 point
  3. To explain it a bit: $oExcel.Activesheet.Range("A2").Formula returns the formula of the cell $oExcel.Activesheet.Range("A2").Value returns the result after the formula has been evaluated $oExcel.Activesheet.Range("A2").Text returns the output as seen by the user after the value has been formatted according to the formating rules for this cell
    1 point
  4. To check if cell "A2" is displayed as "#N/A" use this piece of code: If $oExcel.Activesheet.Range("A2").Text = "#NA" Then MsgBox(0, "", "#NA")
    1 point
  5. Ok, it's not working... then use DDE... If Not ProcessExists("Firefox.exe") Then Run(@ProgramFilesDir & "\Mozilla Firefox\firefox.exe", "", @SW_MAXIMIZE) WinWaitActive("[CLASS:MozillaUIWindowClass]") EndIf OpenGetURL("http://google.com", 0, 0, "firefox") OpenGetURL("http://autoitscript.com", 0, 0, "firefox") ;=============================================================================== ; ; Function Name: OpenGetURL() ; ; Parameter(s): $sURL [optional] Address of page to open, ; if this is empty string (default), then returned Url from address field of particular tab. ; $hWin [optional] Number of tab: ; -1 = Current tab. ; 0 = New tab (when opening). ; $RetType [optional] Definds returned value: ; 0 = String with Title and URL address. ; 1 = Array with 3 elements... ; [0] = Title ; [1] = URL address ; [2] = String with Title And URL address. ; $Server [optional] Serever to open/get Url in/from. ; $iWait [optional] Waiting Timeout in milliseconds, on overload will return an error. ; ; Requirement(s): None ; Return Value(s): On Success - See 'Parameter(s)'. ; On Failure - Empty string and set @error as following: ; 1 = Error to open Dll (user32.dll) ; 2 = Error Initializing DDE (@extended include more details about the returned value from DllCall). ; 3 = Othe DDE Errors (@extended include more details about the returned value from DllCall). ; Author(s): amel27 ; ;===================================================================== Func OpenGetURL($sURL = "", $hWin = -1, $RetType = 0, $Server="IExplore", $iWait = 10000) Local $ret, $err, $uIdInst = DllStructCreate("int") Local $hServer[1], $hTopic[1], $hItem[1], $hConv[1], $hData[1], $sData[1] Local $sTopic = "WWW_OpenURL", $sItem = $sURL & ',,0x' & Hex($hWin) If $sURL = '' Then $sTopic = "WWW_GetWindowInfo" $sItem = "0x" & Hex($hWin) EndIf Local $hDll = DllOpen("user32.dll") If $hDll=-1 Then Return SetError(1, 0, "") ; Error to open Dll $ret = DllCall("user32.dll", "int", "DdeInitialize", "ptr", DllStructGetPtr($uIdInst), "ptr", 0, "int", 0, "int", 0) If $ret[0] Then Return SetError(2, $ret[0], "") ; Error Initializing DDE $hServer = DllCall($hDll, "int", "DdeCreateStringHandle", "int", DllStructGetData($uIdInst,1), "str", $Server, "int", 1004) If $hServer[0] Then $hTopic = DllCall($hDll, "int", "DdeCreateStringHandle", "int", DllStructGetData($uIdInst,1), "str", $sTopic, "int", 1004) If $hTopic[0] Then $hItem = DllCall($hDll, "int", "DdeCreateStringHandle", "int", DllStructGetData($uIdInst,1), "str", $sItem, "int", 1004) If $hItem[0] Then $hConv = DllCall($hDll, "int", "DdeConnect", "int", _ DllStructGetData($uIdInst,1), "int", $hServer[0], "int", $hTopic[0], "int", 0) If $hConv[0] Then $hData = DllCall($hDll, "int", "DdeClientTransaction", "ptr", 0, "int", 0, _ "int", $hConv[0], "int", $hItem[0], "int", 1, "int", 0x20B0, "int", $iWait, "ptr", 0) If $hData[0] Then $sData = DllCall($hDll, "str", "DdeAccessData", "int", $hData[0], "ptr", 0) EndIf EndIf EndIf EndIf $iErr = DllCall($hDll, "int", "DdeGetLastError", "int", DllStructGetData($uIdInst, 1)) If $hData[0] Then DllCall($hDll, "int", "DdeFreeDataHandle", "int", $hData[0]) If $hConv[0] Then DllCall($hDll, "int", "DdeFreeDataHandle", "int", $hConv[0]) If $hItem[0] Then DllCall($hDll, "int", "DdeFreeDataHandle", "int", $hItem[0]) If $hTopic[0] Then DllCall($hDll, "int", "DdeFreeDataHandle", "int", $hTopic[0]) If $hServer[0] Then DllCall($hDll, "int", "DdeFreeDataHandle", "int", $hServer[0]) If $iErr[0] Then Return SetError(3, $iErr[0], "") ; Othe DDE Errors DllCall($hDll, "int", "DdeUninitialize", "int", DllStructGetData($uIdInst, 1)) DllClose($hDll) If StringRight($sData[0], 3) = ',""' Then $sData[0] = StringTrimRight($sData[0], 3) If $sURL = '' Then $sURL = StringRegExpReplace($sData[0], '^"([^"]*?)".*','"\1"') If $RetType = 1 Then Local $iRetTitle = StringReplace(StringTrimLeft($sData[0], StringLen($sURL)+1), '\"', '"') Local $RetURL[3] = [StringReplace($sData[0], '\"', '"'), $sURL, $iRetTitle] Return $RetURL EndIf Return $sURL EndFunc For Opera replace "firefox" with "Opera" in the last used parameter.
    1 point
×
×
  • Create New...