ShadowElf Posted March 10, 2010 Share Posted March 10, 2010 Func excelfurnizori() $IE2 = _IECreateEmbedded() $Formdebloc2 = GUICreate("Lista furnizoricc", @DesktopWidth-100, @DesktopHeight-100, -1, -1) $GUIActiveX2 = GUICtrlCreateObj( $IE2, 1, 1, @DesktopWidth-102, @DesktopHeight-200) $urlll2=$urlll&"&&export=1" _IENavigate($IE2, $urlll2) GUISetState(@SW_HIDE) sleep(5000) GUIDelete($Formdebloc2) EndFunc the php url contain: $filename ="excelreport.xls"; header('Content-type: application/ms-excel'); header('Content-Disposition: attachment; filename='.$filename); and then a table when I start this function, it ask me to save excelreport.xls, but after that I lost controll of all the aplication, no butoon work, no close.. etc any sugestion? I like IT: php, mysql, codeingiter, css, jquery and AUTOIT Link to comment Share on other sites More sharing options...
PsaltyDS Posted March 10, 2010 Share Posted March 10, 2010 Your _IENavigate() is blocking, so set $f_wait = False in the function if you want the script to continue, but you don't have anything after that to deal with the popup either. Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
ShadowElf Posted March 10, 2010 Author Share Posted March 10, 2010 this function is executed when press a button. when i press the button, i lost control of all aplication I like IT: php, mysql, codeingiter, css, jquery and AUTOIT Link to comment Share on other sites More sharing options...
PsaltyDS Posted March 10, 2010 Share Posted March 10, 2010 Well, it is a security dialog, so you might have to Run() a separate process to handle it. Add a command line check to the beginning of the script, so it can run a second instance of itself with a command line switch that tells it just to handle the security dialog and exit. So you would have something like this near the start of the script: ; Test command line If ($CmdLine[0] = 2) And ($CmdLine[1] = "\IeFileSave") Then $iPPID = Int(StringTrimLeft($CmdLine[2], 6)) ; Get \PPID:n parameter While ProcessExists($iPPID) ; Terminate if parent does If WinExists("[CLASS:Your_Class; TITLE:Your File Save Title]", "") Then $hWin = WinGetHandle("[CLASS:Your_Class; TITLE:Your File Save Title]", "") ; Get dialog handle ControlSend($hWin, "", "", "{ENTER}") ; Send 'OK' ExitLoop EndIf Sleep(100) WEnd Exit EndIf Then whenever you navigate to something with a blocking file save dialog: Run(@ScriptFullPath & " \IeFileSave \PPID:" & @AutoItPID) _IENavigate($IE2, $urlll2) Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
ShadowElf Posted March 10, 2010 Author Share Posted March 10, 2010 I posted a bigger part of the code, pls help. I don't understannd the help from PsaltyDS (sorry) Func genereazalistafurnizori is apelated from a file menu expandcollapse popupFunc genereazalistafurnizori() Global $Formlistafurnizori,$ffnume,$ffro,$ffj,$fflocalitate,$ffadresa,$ffjudet,$ffcapsoc1,$ffcapsoc2,$ffpunctlucru,$ffperscontact,$fftel Global $fffax,$ffmail,$ffurl,$ffbanca1,$ffbanca2,$ffbanca3,$afnume,$afro,$afj,$aflocalitate,$afadresa,$afjudet,$afcapsocial,$afpunctlucru Global $afperscontact,$aftelefon,$aftelefon,$affax,$afmail,$afurl,$afcont1,$afcont2,$afcont3,$afbanca1,$afbanca2,$afbanca3, $ffexclusiv $Formlistafurnizori = GUICreate("Generare lista furnizori", 686, 470, 195, 140) $Group1 = GUICtrlCreateGroup("Filtre", 16, 24, 649, 201) GUICtrlCreateLabel("Nume:", 32, 48, 35, 17) $ffnume = GUICtrlCreateInput("", 115, 44, 121, 21) GUICtrlCreateLabel("Cod Fiscal (RO):", 32, 72, 81, 17) $ffro = GUICtrlCreateInput("", 115, 68, 121, 21) GUICtrlCreateLabel("Numar Inreg (J):", 32, 96, 79, 17) $ffj = GUICtrlCreateInput("", 115, 92, 121, 21) GUICtrlCreateLabel("Localitate:", 33, 121, 53, 17) $fflocalitate = GUICtrlCreateInput("", 115, 115, 121, 21) GUICtrlCreateLabel("Adresa:", 33, 145, 40, 17) $ffadresa = GUICtrlCreateInput("", 115, 139, 121, 21) GUICtrlCreateLabel("Judet:", 32, 168, 33, 17) $ffjudet = GUICtrlCreateInput("", 115, 163, 121, 21) GUICtrlCreateLabel("Cap Social:", 32, 192, 58, 17) $ffcapsoc1 = GUICtrlCreateInput("", 139, 188, 41, 21) $ffcapsoc2 = GUICtrlCreateInput("", 195, 188, 41, 21) GUICtrlCreateLabel("intre:", 109, 192, 27, 17) GUICtrlCreateLabel("si", 183, 191, 11, 17) GUICtrlCreateLabel("Punct Lucru:", 263, 47, 65, 17) $ffpunctlucru = GUICtrlCreateInput("", 336, 43, 121, 21) GUICtrlCreateLabel("Pers Contact:", 264, 71, 68, 17) $ffperscontact = GUICtrlCreateInput("", 336, 67, 121, 21) GUICtrlCreateLabel("Telefon:", 263, 96, 43, 17) $fftel = GUICtrlCreateInput("", 336, 91, 121, 21) GUICtrlCreateLabel("Fax:", 264, 120, 24, 17) $fffax = GUICtrlCreateInput("", 336, 114, 121, 21) GUICtrlCreateLabel("Mail:", 264, 144, 26, 17) $ffmail = GUICtrlCreateInput("", 336, 138, 121, 21) GUICtrlCreateLabel("URL:", 265, 167, 29, 17) $ffurl = GUICtrlCreateInput("", 336, 162, 121, 21) GUICtrlCreateLabel("Banca1:", 480, 49, 44, 17) $ffbanca1 = GUICtrlCreateInput("", 528, 44, 121, 21) GUICtrlCreateLabel("Banca2:", 480, 72, 44, 17) $ffbanca2 = GUICtrlCreateInput("", 528, 67, 121, 21) GUICtrlCreateLabel("Banca3:", 480, 96, 44, 17) $ffbanca3 = GUICtrlCreateInput("", 528, 90, 121, 21) $ffexclusiv = GUICtrlCreateCheckbox("Toate filtrele/Oricare dintre ele", 480, 192, 160, 21) GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Ce afisez", 16, 240, 649, 177) $afnume = GUICtrlCreateCheckbox("Nume", 32, 264, 97, 17) GUICtrlSetState($afnume, $GUI_CHECKED) $afro = GUICtrlCreateCheckbox("Cod Fiscal (RO)", 32, 288, 97, 17) $afj = GUICtrlCreateCheckbox("Numar Inreg (J)", 32, 312, 97, 17) GUICtrlSetState($afnume, $GUI_CHECKED) $aflocalitate = GUICtrlCreateCheckbox("Localitatea", 32, 336, 97, 17) $afadresa = GUICtrlCreateCheckbox("Adresa", 32, 360, 97, 17) $afjudet = GUICtrlCreateCheckbox("Judet", 32, 384, 97, 17) $afcapsocial = GUICtrlCreateCheckbox("Cap Social", 160, 264, 97, 17) $afpunctlucru = GUICtrlCreateCheckbox("Punct lucru", 160, 288, 97, 17) $afperscontact = GUICtrlCreateCheckbox("Pers Contact", 160, 312, 97, 17) $aftelefon = GUICtrlCreateCheckbox("Telefon", 160, 336, 97, 17) $affax = GUICtrlCreateCheckbox("Fax", 160, 360, 97, 17) $afmail = GUICtrlCreateCheckbox("Mail", 160, 384, 97, 17) $afurl = GUICtrlCreateCheckbox("URL", 280, 264, 97, 17) $afcont1 = GUICtrlCreateCheckbox("Cont1", 400, 264, 97, 17) $afbanca1 = GUICtrlCreateCheckbox("Banca1", 400, 288, 97, 17) $afcont2 = GUICtrlCreateCheckbox("Cont2", 400, 312, 97, 17) $afbanca2 = GUICtrlCreateCheckbox("Banca2", 400, 336, 97, 17) $afcont3 = GUICtrlCreateCheckbox("Cont3", 400, 360, 97, 17) $afbanca3 = GUICtrlCreateCheckbox("Banca3", 400, 382, 97, 17) GUICtrlCreateGroup("", -99, -99, 1, 1) $Button1 = GUICtrlCreateButton("Genereaza lista", 265, 425, 139, 33) GUICtrlSetOnEvent(-1, "listafurnizori") GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif") GUISetState(@SW_SHOW) GUISetOnEvent($GUI_EVENT_CLOSE, "outgenereazalistafurnizori") EndFunc Func outgenereazalistafurnizori() GUIDelete($Formlistafurnizori) EndFunc ;== Func listafurnizori() Global $IE, $Formlistafurnizori2 Global $Formlistafurnizori2, $furcli, $urlll, $GUIActiveX if $Formlistafurnizori2 Then GUIDelete($Formlistafurnizori2) EndIf ; Test command line If ($CmdLine[0] = 2) And ($CmdLine[1] = "\IeFileSave") Then $iPPID = Int(StringTrimLeft($CmdLine[2], 6)) ; Get \PPID:n parameter While ProcessExists($iPPID) ; Terminate if parent does If WinExists("[TITLE:Lista Furnizori]", "") Then $hWin = WinGetHandle("[TITLE:Lista Furnizori]", "") ; Get dialog handle ControlSend($hWin, "", "", "{ENTER}") ; Send 'OK' ExitLoop EndIf Sleep(100) WEnd Exit EndIf $furcli="furnizori" $IE = _IECreateEmbedded() $Formdebloc = GUICreate("Lista furnizori", @DesktopWidth-100, @DesktopHeight-100, -1, -1) $GUIActiveX = GUICtrlCreateObj( $IE, 1, 1, @DesktopWidth-102, @DesktopHeight-200) GUICtrlCreateButton("Print", (@DesktopWidth-100)/2-87, @DesktopHeight-150, 177, 41) GUICtrlSetOnEvent(-1, "printfurnizori") GUICtrlCreateButton("Export Excel", (@DesktopWidth-100)/2+90, @DesktopHeight-150, 177, 41) GUICtrlSetOnEvent(-1, "excelfurnizori") $urlll="http://localhost/pos/furcli.php?a="&$furcli&"&&ffexclusiv="&_GUICtrlButton_GetState($ffexclusiv)&"&&afnume="&_GUICtrlButton_GetState($afnume)&"&&afro="&_GUICtrlButton_GetState($afro)&"&&afj="&_GUICtrlButton_GetState($afj)&"&&aflocalitate="&_GUICtrlButton_GetState($aflocalitate)&"&&afadresa="&_GUICtrlButton_GetState($afadresa)&"&&afjudet="&_GUICtrlButton_GetState($afjudet)&"&&afcapsocial="&_GUICtrlButton_GetState($afcapsocial)&"&&afpunctlucru="&_GUICtrlButton_GetState($afpunctlucru)&"&&afperscontact="&_GUICtrlButton_GetState($afperscontact)&"&&aftelefon="&_GUICtrlButton_GetState($aftelefon)&"&&affax="&_GUICtrlButton_GetState($affax)&"&&afmail="&_GUICtrlButton_GetState($afmail)&"&&afurl="&_GUICtrlButton_GetState($afurl)&"&&afcont1="&_GUICtrlButton_GetState($afcont1)&"&&afbanca1="&_GUICtrlButton_GetState($afbanca1)&"&&afcont2="&_GUICtrlButton_GetState($afcont2)&"&&afbanca2="&_GUICtrlButton_GetState($afbanca2)&"&&afcont3="&_GUICtrlButton_GetState($afcont3)&"&&afbanca3="&_GUICtrlButton_GetState($afbanca3)&"&&ffnume="&GUICtrlRead($ffnume)&"&&ffro="&GUICtrlRead($ffro)&"&&ffj="&GUICtrlRead($ffj)&"&&fflocalitate="&GUICtrlRead($fflocalitate)&"&&ffadresa="&GUICtrlRead($ffadresa)&"&&ffjudet="&GUICtrlRead($ffjudet)&"&&ffcapsocial1="&GUICtrlRead($ffcapsoc1)&"&&ffcapsocial2="&GUICtrlRead($ffcapsoc2)&"&&ffpunctlucru="&GUICtrlRead($ffpunctlucru)&"&&ffperscontact="&GUICtrlRead($ffperscontact)&"&&fftelefon="&GUICtrlRead($fftel)&"&&fffax="&GUICtrlRead($fffax)&"&&ffmail="&GUICtrlRead($ffmail)&"&&ffurl="&GUICtrlRead($ffurl)&"&&afcont1="&_GUICtrlButton_GetState($afcont1)&"&&ffbanca1="&GUICtrlRead($ffbanca1)&"&&ffbanca2="&GUICtrlRead($ffbanca2)&"&&ffbanca3="&GUICtrlRead($ffbanca3) ;~ MsgBox(-1, "", $urlll) _IENavigate($IE, $urlll) GUISetState(@SW_SHOW) GUISetOnEvent($GUI_EVENT_CLOSE, "outlistafurnizori") EndFunc Func outlistafurnizori() GUIDelete($Formlistafurnizori2) EndFunc ;== Func excelfurnizori() $IE2 = _IECreateEmbedded() $Formdebloc2 = GUICreate("Lista furnizoricc", @DesktopWidth-100, @DesktopHeight-100, -1, -1) $GUIActiveX2 = GUICtrlCreateObj( $IE2, 1, 1, @DesktopWidth-102, @DesktopHeight-200) $urlll2=$urlll&"&&export=1" Run(@ScriptFullPath & " \IeFileSave \PPID:" & @AutoItPID) _IENavigate($IE2, $urlll2) GUISetState(@SW_HIDE) sleep(5000) GUIDelete($Formdebloc2) EndFunc ;== Func printfurnizori() $IE.execWB(7,2) ; IDM_PRINTPREVIEW not work EndFunc I like IT: php, mysql, codeingiter, css, jquery and AUTOIT Link to comment Share on other sites More sharing options...
ShadowElf Posted March 11, 2010 Author Share Posted March 11, 2010 problem fixed _IENavigate($IE, $urlll2, 0) thx I like IT: php, mysql, codeingiter, css, jquery and AUTOIT Link to comment Share on other sites More sharing options...
PsaltyDS Posted March 11, 2010 Share Posted March 11, 2010 problem fixed_IENavigate($IE, $urlll2, 0)Uhm, that was the suggestion in post #2 ($f_wait = False). The more complicated technique in post #4 assumed that hadn't worked.Whatever... Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
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