Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1124to1128
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
Inhaltsverzeichnis

Text auf Webseite finden

Text auf Webseite finden
Beverly
Hi Helfer,
Ausgangssituation: Arbeitsmappe, die sowohl in Excel vor 2007 als auch in Excel ab 2007 genutzt wird
Problem: um einen bestimmten Text auf einer Webseite zu finden, lese ich eine Webseite durch Erstellen einer Webabfrage im Tabellenblatt aus und suche dort den Text. Das Problem dabei ist, das beim Öffnen dieser Arbeitsmappe in Excel2007 nachgefragt wird, ob man dieser Quelle vertraut (zusätzlich zur Abfrage bezüglich der Makros) - und das möchte ich umgehen. In Excel2007 kann man zwar (z.B. beim Schließen der Arbeitsmappe) per VBA die Verbindung löschen - .Connections("...").Delete - das funktioniert jedoch nicht z.B. in Excel2002 (den Befehl gibt es dort nicht).
Meine Frage: gibt es noch eine andere Möglichkeit außer einer Webabfrage, einen Text auf einer Webseite zu finden, und wenn ja - wie?


9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Text auf Webseite finden
16.12.2009 11:13:41
Luschi
Hallo Karin,
für solche Fälle gibt es die #If...Then...#Else-Anweisung
Ein Beispiel dazu:

Dim i As Integer
i = Val(Application.Version)
#If i > 11 Then
      'Befehle, die es erst ab Excel 2007 gibt
#End If
Gruß von Luschi
aus klein-Paris
AW: Text auf Webseite finden
16.12.2009 11:42:35
Beverly
Hi Luschi,
ja, das ist mir schon klar, aber es löst das eigentliche Problem nicht. Wenn man die Arbeitsmappe in den Versionen vor 2007 verwendet hat, wurden die Verbindungen erstellt und sind auch noch vorhanden, selbst wenn man das Tabellenblatt in welchem sie erstellt wurden löscht und man dadurch auch keinen Zugriff mehr auf Verbindung hat (sie sind unter Daten nicht mehr aktualisierbar). Sobald ich aber nun die Arbeitsmappe anschließend in 2007 öffne, erscheint wieder diese Nachricht ob man der Quelle vertraut und die Verbindungen werden auch unter Daten -&gt Verbindungen aufgelistet. Beim Öffnen der Arbeitsmappe in 2007 die Verbindungen per VBA löschen geht nicht, da die Prüfung durch Excel vor dem Ausführen des Workbook_Open Ereignisses erfolgt. Deshalb mein Gedanke, gar nicht erst eine Webabfrage im Tabellenblatt zu erstellen, sondern den Text auf irgend eine andere Art und Weise auf der Webseite zu suchen - ich weiß aber eben nicht wie.


Anzeige
AW: Text auf Webseite finden
16.12.2009 11:43:15
Beverly
Frage noch offen.
AW: Text auf Webseite finden
16.12.2009 13:25:11
Peter
Hallo
Ich hab deine Frage nur überflogen.... ich hoffe mein tip hilft dir weiter
Möglicherweise läßt sich die Abfrage so unterdrücken.
Application.DisplayAlerts = false
Es könnte aber auch eine sicherheitsrelevante
Abfrage sein, die auf Grund der Sicherheitseinstellung im Excel erscheint (So wie die Meldung, das die Excel Datei Markos enthält und ob man die deaktivieren will). Die müsste man, wenn man will runtersetzten.
lg. Peter
AW: Text auf Webseite finden
16.12.2009 13:48:16
M.
Hallo Karin,
vielleicht hilft dir dieser Codeschnipsel weiter. Ich hab ihn auch mal aus dem Forum und nutze ihn um Enfernungen per Google Maps zu ermitteln. Hier wird das Body Element der Website eingelesen und nach dem Text durchsucht. Ich glaube das ist der Ansatz den du suchst um auf eine Webabfrage verzichten zu können
Function Entfernung(ByVal von As String, ByVal bis As String) As String
Dim arText As Variant
Dim IEApp As Object
Dim i As Long
Dim start As String
Dim ziel As String
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate "http://maps.google.com/maps?saddr=" & von & "&daddr=" & bis & "&hl=de&output= _
html"
'Application.Wait (Now + TimeValue("0:00:5"))
Do: Loop Until IEApp.Busy = False
While True
arText = Split(IEApp.Document.Body.innerText, vbCrLf)
For i = 0 To UBound(arText)
If InStr(1, arText(i), "km – ca.", vbTextCompare) > 0 Then
Entfernung = arText(i)
Exit Function
End If
Next
MsgBox "Bitte Route im IE manuell korrigieren"
Wend
End Function
Hoffe es hilft,
Gruß Rudi
Anzeige
AW: Text auf Webseite finden
16.12.2009 15:06:50
Beverly
Hi Rudi,
danke erst einmal für den Code - du hast Recht, vom Prinzip her ist es genau das was ich suche. Ich werde den Code unter meinen Bedingungen testen und gebe dann Rückmeldung.


AW: Text auf Webseite finden
16.12.2009 16:54:39
Beverly
Hi Rudi,
mithilfe deines Codes konnte ich mein Problem lösen. Allerdings musste ich den Teil
arText = Split(IEApp.Document.Body.innerText, vbCrLf)
....

ändern, da es die Funktion Split in der Excelversion 97 noch nicht gab. Da ich aber nur einen bestimmten (einmalig vorkommenden) Text suche, verwende ich stattdessen
If Instr(IEApp.Document.Body.innerText, "MeinSuchtext") > 0 Then MsgBox "Text vorhanden"
Nochmals vielen Dank - hast mir sehr geholfen.


Anzeige
Danke für die Rückmeldung! Gerne. o.T.
16.12.2009 17:03:44
M.
o.T.
AW: Text auf Webseite finden
16.12.2009 13:54:36
Beverly
Hi Peter,
danke fürs Drüberschauen, aber das ist ja eben das Problem, dass es eine Abfrage aufgrund der Sicherheitseinstellungen ist (genau wie die Abfrage wegen der Makros) - und die lassen sich nicht mittels Application.DisplayAlerts abschalten.


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige