Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speicher überlauf

Speicher überlauf
27.11.2006 20:59:57
BOSSE
Hallo,
habe folgendes VBA für meine Anwendung nutzen können, nur wenn ich eine längere Schleife starte oder mehrmals den Makro startr hängt sich es auf bzw. der rechner reagiert fast garnicht mehr.
Ich habe es mit "appIE.Visible = True" versucht und habe bemerkt das der Makro jedesmal einen neuen browser öffnet, diese dann auch nicht mehr schließt.
Ich meine hier liegt das Problem.
Wie kann mann das makro so ändern das diese problematik behoben wird ?
Sub WebSuche()
Dim i As Byte
For i = 2 To 20
Cells(i, 2) = URL_Load(Cells(i, 1), Range("A1"))
Next i
End Sub

Private Function URL_Load(ByVal sURL As String, sSuche As String) As Boolean
Dim appIE As Object
Dim sTxt As String
Set appIE = CreateObject("InternetExplorer.Application")
'appIE.Visible = True
appIE.navigate sURL
Do: Loop Until appIE.busy = False
Do: Loop Until appIE.busy = False
sTxt = appIE.document.documentElement.outerHTML
Set appIE = Nothing
If InStr(sTxt, sSuche) > 0 Then URL_Load = True
End Function

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speicher überlauf
27.11.2006 21:37:07
Reinhard
Hi Bosse,
bau mal AppIE.Quit ein, und starte den IE nur einmal
Set appIE = GetObject("InternetExplorer.Application")
if appIE=nothing then Set appIE = CreateObject("InternetExplorer.Application")
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Speicher überlauf
27.11.2006 23:08:09
Stefan
Hallo Reinhard,
Wenn ich da noch hinzufuegen darf:

On Error Resume Next
Set appIE = GetObject(class:="InternetExplorer.Application")
If appIE Is Nothing Then Set appIE = CreateObject("InternetExplorer.Application")
On Error GoTo 0

Das "class:=" oder ein "," sind zur Syntax bei GetObject notwendig, und Fehlerbehandlungsroutine muss auch sein, da sich Excel sonst am GetObject aufhaengt, wenn kein IE offen ist.
Schoene Gruesse
Stefan
Anzeige
OT Getobject Createobject
28.11.2006 10:50:04
Reinhard
Danke Stefan,
mit "class:" wußte ich nicht, die Fehlermeldung hatte ich schon, aber vergessen :-)
Gruß
Reinhard
AW: Speicher überlauf
27.11.2006 23:15:29
BOSSE
Vielen Dank,
ich habe es mit
Do: DoEvents: Loop Until appIE.Busy = False
anstelle von
Do: Loop Until appIE.busy = False
lösen können, trotzdem werde ich eure lösungsvorschläge ausprobieren, feedback folgt.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige