none
InternetExplorer.Application - Fragen/Meldungen abschalten RRS feed

  • Frage

  • Hi,

     

    ich arbeite zur Zeit mit CreateObject("InternetExplorer.application").

    Leider habe ich das Problem, das mein Excelfile an verschiedene Rechner rausgehen soll. Diese haben natürlich nicht immer den Internet Explorer bereits eingerichtet oder es kommen auch mal Meldungen wegen einer abgestürzten Session oder so. Die Eigenschaft silent = true gibt es zwar, aber funktioniert nicht wirklich. Ich bekomme weiterhin Meldungen wie "Erste Schritte" oder eben genannte Session-Wiederherstellung...

    wie kann ich das abschalten?

    Dienstag, 1. März 2011 13:54

Antworten

Alle Antworten

  • Hmmm,

    hab ich was essenziell wichtiges vergessen zu sagen?

    Oder bin ich im falschen Forum?

    Oder sollt ichs lieber auf Englisch schreiben?

    Oder ist die Antwort darauf einfach nur unmöglich?^^

    Hier noch einen Codeschnipsel aus meinem VBA:

     

    Function CheckLogin(id As String, passw As String)
    
    On Error Resume Next
    
    Dim newsite As Object
    
    
    
     Set newsite = CreateObject("InternetExplorer.application")
    
     newsite.Visible = False
    
     newsite.silent = True
    
     newsite.Navigate _
    
       serveradresse + "****.php?id=" + id + "&passw=" + passw
    
     
    
     Do Until newsite.ReadyState = 4: Sleep 100: Loop
    
     CheckLogin = CStr(newsite.document.all.item("id").innerhtml)
    
    
    
     newsite.Quit
    
    End Function

    So sieht momentan in etwa eine solche Funktion bei mir aus.

    Und das wäre aus der MSDN dazu:

    http://msdn.microsoft.com/en-us/library/aa752084%28v=vs.85%29.aspx

    Net-Framework 3 habbich natürlich drauf aber das mit dem Silent scheint wohl nur für Javascript-Alerts oder ähnliches zu gelten.

    Mittwoch, 2. März 2011 09:58
  • Hi,

     

    ich arbeite zur Zeit mit CreateObject("InternetExplorer.application").

    Leider habe ich das Problem, das mein Excelfile an verschiedene Rechner rausgehen soll. Diese haben natürlich nicht immer den Internet Explorer bereits eingerichtet oder es kommen auch mal Meldungen wegen einer abgestürzten Session oder so. Die Eigenschaft silent = true gibt es zwar, aber funktioniert nicht wirklich. Ich bekomme weiterhin Meldungen wie "Erste Schritte" oder eben genannte Session-Wiederherstellung...

    wie kann ich das abschalten?

    Hier noch einen Codeschnipsel aus meinem VBA:

    Function CheckLogin(id As String, passw As String)
    On Error Resume Next
    Dim newsite As Object

    Set newsite = CreateObject("InternetExplorer.application")
    newsite.Visible = False
    newsite.silent = True
    newsite.Navigate _
    serveradresse + "****.php?id=" + id + "&passw=" + passw

    Do Until newsite.ReadyState = 4: Sleep 100: Loop
    CheckLogin = CStr(newsite.document.all.item("id").innerhtml)

    newsite.Quit
    End Function

    So sieht momentan in etwa eine solche Funktion bei mir aus.

    Und das wäre aus der MSDN dazu:

    http://msdn.microsoft.com/en-us/library/aa752084%28v=vs.85%29.aspx

     

    Net-Framework 3 habbich natürlich drauf aber das mit dem Silent scheint wohl nur für Javascript-Alerts oder ähnliches zu gelten.

    Mittwoch, 2. März 2011 13:36
  • close/delete bitte, danke
    Mittwoch, 2. März 2011 13:40
  • Hallo knighToFdemonS,
    close/delete bitte, danke

    Deine Anfrage war hier schon richtig. Dein neuer Thread im VB Forum dagegen völlig falsch, da es dort um VB.NET. Deine Frage aber hat nichts mit .NET zu tun. Schließe/lösche ihn dort bitte wieder.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Mittwoch, 2. März 2011 14:02
  • Hallo,

    ich arbeite zur Zeit mit CreateObject("InternetExplorer.application").

    [...] Die Eigenschaft silent = true gibt es zwar, aber funktioniert nicht wirklich. Ich bekomme weiterhin Meldungen wie "Erste Schritte" oder eben genannte Session-Wiederherstellung...

    wie kann ich das abschalten?

    diese Meldungen lassen sich nicht abschalten. Was möchtest Du mit dem IE erreichen? Ggf. gibt es andere Ansätze.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Mittwoch, 2. März 2011 14:13
  • Hi,

    ich arbeite zur Zeit mit CreateObject("InternetExplorer.application").

    Leider habe ich das Problem, das mein Excelfile an verschiedene Rechner rausgehen soll.

    Ich versteh nicht so ganz, was das eine mit dem anderen zu tun hat.

    Was willst Du mit dem Internet Explodierer in einem Excelsheet? Wenn überhaupt, kannst Du (in .NET) per System.Net.HttpWebRequest deine Seite aufrufen und per System.Net.HttpWebResponse die Rückgabe auslesen. Zudem ist das doch erheblich besser zu handlen also deine (potientelle) Endlosschleife.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Donnerstag, 3. März 2011 21:32
    Moderator
  • hmmm .net in vba? wie geht das??

    wäre natürlich die elegantere lösung und auch eine die mir wesentlich lieber ist, danke.

    welchen verweis brauch ich dafür in vba? kanns ja nicht über imports machen, ist ja kein .net

    was solche dinge und codebeispiele angeht ist msdn echt mager...und google fördert auch nicht viele codebeispiele...ich kenn die klasse leider garnicht.

    Freitag, 4. März 2011 08:05
  • Hi,

    hmmm .net in vba? wie geht das??

    Du bist hier in einem .NET Forum, nicht in einem Office/VBA Forum. Daher wäre es hilfreich gewesen, wenn Du das dabei geschrieben hättest.

    wäre natürlich die elegantere lösung und auch eine die mir wesentlich lieber ist, danke.

    welchen verweis brauch ich dafür in vba? kanns ja nicht über imports machen, ist ja kein .net

    Das einfachste wäre wohl WinHttpRequest. Damit kannst Du die Rückgabe der Webseite abrufen.

      http://www.java2s.com/Code/VBA-Excel-Access-Word/File-Path/WinHttpRequestDemo.htm



    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Freitag, 4. März 2011 08:36
    Moderator
  • hmmm das WinHttpRequest nutz ich schon um daten abzuschicken, wo ich keine antwort zurück brauch.

     

    danke aber dann haben die kunden eben pech, ich geb mir jetzt nich noch den riss alle php dateien wieder umzuschreiben...ich greif die werte momentan per id aus dem quelltext und muss nicht mit cursor arbeiten.

    _____

    dann sind die foren wohl etwas unübersichtlich aufgebaut sorry^^ wenn ich hilfe zu vb brauch, dachte ich gehst hier rein, "Hier können Sie Fragen rund um Visual Basic stellen und mit anderen Benutzern über aktuelle Themen diskutieren." trifft ja auch zu.

    zumal das office-forum für mich threadmäßig auch nicht wirklich was mit vba-programmierung oder makros zu tun hat. eher programmtechnische fragen. egal, hatte ja über dem codeschnipsel auch vba geschrieben :P
    Freitag, 4. März 2011 08:57
  • Hi,

    hmmm das WinHttpRequest nutz ich schon um daten abzuschicken, wo ich keine antwort zurück brauch.

    Öhm. Dann ist das doch wirklich sehr einfach, das auch für Sachen zu nehmen, wo Du eine Antwort brauchst. <Object>.ResponseText gibt dir ja alles, was Du brauchst.

    danke aber dann haben die kunden eben pech, ich geb mir jetzt nich noch den riss alle php dateien wieder umzuschreiben...ich greif die werte momentan per id aus dem quelltext und muss nicht mit cursor arbeiten.

    Du musst serverseitig gar nichts umschreiben. Du brauchst ja lediglich deine gewünschte Rückgabe, die dir sagt, ob das Login erfolgreich war oder nicht, bspw. per InStr suchen. Allerdings wäre es auch nicht weiter tragisch, im Loginskript (davon gibts ja wahrscheinlich nicht tausende, oder?) einen Header oder einen bestimmten Tag zurückzugeben, der dann halt "Login erfolgreich" (oder auch nicht^^) darstellt.

    dann sind die foren wohl etwas unübersichtlich aufgebaut sorry^^

    Da kann ich dir zustimmen^^
    zumal das office-forum für mich threadmäßig auch nicht wirklich was mit vba-programmierung oder makros zu tun hat. eher programmtechnische fragen. egal, hatte ja über dem codeschnipsel auch vba geschrieben :P
    Hab ich übersehen. Sorry dafür.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Freitag, 4. März 2011 09:15
    Moderator
  • hmmm okay hab nun ein bisschen mit rumgespielt, du hast recht es ist wirklich sehr einfach^^ okay ja der ganze krams ist schnell umgeschrieben, danke jetzt kannich schööön auf den internet exploit verzichten :)

     

    für alle die intressiert wie meine loginfunktion nun aussieht^^

    Function CheckLogin(id As String, passw As String)
    Dim htpRequest As New WinHttp.WinHttpRequest
    Dim docDocument As New MSHTML.HTMLDocument
    
    htpRequest.Open "GET", serveradresse + "****.php?id=" + id + "&passw=" + passw
    htpRequest.Send
    docDocument.body.innerHTML = htpRequest.ResponseText
      CheckLogin = CStr(docDocument.body.all.item("id").innerHTML)
    End Function

    muchas gracias^^

     

    ps: dachte ich könnte eben nichtmehr mit den html-tags arbeiten^^

    Freitag, 4. März 2011 10:20