Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1224to1228
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 aus aktueller webseite auslesen

Text aus aktueller webseite auslesen
selli
hallo leute,
die folgende funktion erlaubt es mir die url und den titel des aktuellen tabs im firefox auszulesen.
da ich aber leider nicht in der lage bin die funktion zu erweitern, bitte ich um eure hilfe.
ich möchte nun also den angezeigten text der aktuellen webseite auslesen. (so zu sagen: alles markieren und kopieren).
seht es euch bitte mal an. vielleicht hat ja jemand eine idee und ist so nett mir zu helfen.
vielen dank.
gruß
selli
Private Declare Function DdeInitialize Lib "user32" Alias "DdeInitializeA" (pidInst As Long, ByVal pfnCallback As Long, ByVal afCmd As Long, ByVal ulRes As Long) As Integer
Private Declare Function DdeCreateStringHandle Lib "user32" Alias "DdeCreateStringHandleA" (ByVal idInst As Long, ByVal psz As String, ByVal iCodePage As Long) As Long
Private Declare Function DdeConnect Lib "user32" (ByVal idInst As Long, ByVal hszService As Long, ByVal hszTopic As Long, pCC As Any) As Long
Private Declare Function DdeFreeStringHandle Lib "user32" (ByVal idInst As Long, ByVal hsz As Long) As Long
Private Declare Function DdeUninitialize Lib "user32" (ByVal idInst As Long) As Long
Private Declare Function DdeClientTransaction Lib "user32.dll" (ByRef pData As Byte, ByVal cbData As Long, ByVal hConv As Long, ByVal hszItem As Long, ByVal wFmt As Long, ByVal wType As Long, ByVal dwTimeout As Long, ByRef pdwResult As Long) As Long
Private Declare Function DdeAccessData Lib "user32.dll" (ByVal hData As Long, ByRef pcbDataSize As Long) As Long
Private Declare Function DdeUnaccessData Lib "user32.dll" (ByVal hData As Long) As Long
Private Declare Function DdeFreeDataHandle Lib "user32.dll" (ByVal hData As Long) As Long
Private Declare Function DdeDisconnect Lib "user32.dll" (ByVal hConv As Long) As Long
Private Declare Function DdeGetLastError Lib "user32.dll" (ByVal idInst As Long) As Long
Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long
Private Const XCLASS_DATA As Long = &H2000
Private Const XTYP_REQUEST As Long = (&HB0 Or XCLASS_DATA)
Private Const CP_WINANSI As Long = 1004
Private Const CF_TEXT As Long = 1
Private Function GetBrowserInfo(ByVal sServer As String) As String
Dim lpData  As Long, hData   As Long, sData  As String
Dim hServer As Long, hTopic  As Long, hItem  As Long
Dim hConv   As Long, idInst  As Long
Dim sBuffer As String
Const sTopic = "WWW_GetWindowInfo"
Const sItem = "0xFFFFFFFF"
If DdeInitialize(idInst, 0, 0, 0)  0 Then Exit Function
hServer = DdeCreateStringHandle(idInst, sServer, CP_WINANSI)
hTopic = DdeCreateStringHandle(idInst, sTopic, CP_WINANSI)
hItem = DdeCreateStringHandle(idInst, sItem, CP_WINANSI)
hConv = DdeConnect(idInst, hServer, hTopic, ByVal 0&)
If hConv Then
hData = DdeClientTransaction(0, 0, hConv, hItem, CF_TEXT, XTYP_REQUEST, 1000, 0)
lpData = DdeAccessData(hData, 500)
sBuffer = String(500, Chr(0))
lstrcpy sBuffer, lpData
GetBrowserInfo = Left$(sBuffer, InStr(sBuffer, Chr(0)) - 1)
DdeUnaccessData hData
DdeFreeDataHandle hData
DdeDisconnect hConv
End If
DdeFreeStringHandle idInst, hServer
DdeFreeStringHandle idInst, hTopic
DdeFreeStringHandle idInst, hItem
DdeUninitialize idInst
End Function

Sub url_ausl()
sRet = GetBrowserInfo("firefox")
End Sub

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

Betreff
Benutzer
Anzeige
Text aus aktueller webseite auslesen
29.08.2011 17:28:14
Anton
Hallo selli,
ein Umweg über IE:
ersetze

Sub url_ausl()
sRet = GetBrowserInfo("firefox")
End Sub
durch diese:
Code:

Sub url_ausl()
 'Text auslesen
  Dim IEApp As Object  
  Set IEApp = CreateObject("InternetExplorer.Application")  
  IEApp.Visible = False
  IEApp.Navigate Replace(Split(GetBrowserInfo("firefox"), ",")(0), Chr(34), "")  
  Do: Loop Until IEApp.Busy = False    
  Do: Loop Until IEApp.Busy = False    
  Do: Loop Until IEApp.Document.ReadyState = "complete"    
  Debug.Print IEApp.Document.Body.InnerText  
  IEApp.Quit
  Set IEApp = Nothing  
End Sub  


mfg Anton
Anzeige
AW: Text aus aktueller webseite auslesen
30.08.2011 07:50:05
selli
hallo anton,
wäre mit dem umweg ja einverstanden, aber es geht so nicht.
es passiert zwar etwas im hintergrund, aber ich habe den text nicht in der zwischenablage oder sonstwo.
ich probiere aber mal mit dem ansatz etwas rum, vielleicht habe ich nur etwas übersehen.
vielen dank an dich für deine mühe.
viele grüße
selli
Text aus aktueller webseite auslesen
30.08.2011 12:31:08
Anton
Hallo selli,
der Text IEApp.Document.Body.InnerText wird mit Debug.Print im Direktfenster des VBEditors angezeigt.
mfg Anton
AW: Text aus aktueller webseite auslesen
30.08.2011 16:22:02
selli
hallo anton,
dein code hat mir sehr weitergeholfen.
komme gut damit zurecht.
danke.
gruß selli
Anzeige

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige