thomas1972
Goto Top

Inhalte eines Browsers in die Zwischenablage kopieren per vba (Access

Hallo, ich habe folgendes Problem,, wo mir vielleicht jemand helfen kann.
Ich bin auf einer Internetseite welche mir die Möglichkeit des ¨ausdrucken¨ bietet.
Dabei wird die zu ¨druckende¨ Seite als neues Brwoserfenster (Internet explorer) mit dem namen Detail geöffnet.
Diese Funktion wollte ich verwenden um den Inhalt in ein ungebundenen Textfeld von Access zu bekommen.

Besteht die möglichkeit per VBA aus Access heraus das Browserfenster ¨Detail¨ im Hintergrund den Inhalt zu markieren und in ein ungebundenes Textfeld einzufügen (Z.Zt. gehe ich im Moment über Website in den Vordergrund holen, STRG+A, in Access ins Formular wechsel und den Inhalt per STRG+C in das ungebundene Textfeld einzufügen)

WIe kann sowas über Access automatisch abgebildet werden?
Könnte der Inhalt auch in eine Variablbe zwischengespeichert werden?

Vielleicht hat hier jemand einen Ansatz.

Wünsche ein schönes Advent´s Wochenende

Content-ID: 223385

Url: https://administrator.de/contentid/223385

Ausgedruckt am: 25.11.2024 um 15:11 Uhr

colinardo
colinardo 01.12.2013 aktualisiert um 11:28:29 Uhr
Goto Top
Hallo Thomas,
auch für das gibt es eine einfache Lösung: Download Demo DB
    Set objIE = CreateObject("InternetExplorer.Application")  
    objIE.Navigate "https://administrator.de"  
    'Wenn du den IE nicht sehen möchtest schaltest du ihn hier auf 'False'  
    objIE.Visible = True
    'warten bis die Seite komplett geladen ist  
    While Not objIE.ReadyState = 4
        DoEvents
    Wend
    'Inhalt des Body's der Webseite in das Textfeld laden   
    txtContent.SetFocus
    txtContent.Value = objIE.Document.Body.innerHTML
    ' IE schließen  
    objIE.Quit
txtContent = ist das Textfeld in das der Inhalt der Webseite geladen werden soll.
Grüße Uwe
thomas1972
thomas1972 01.12.2013 um 11:43:23 Uhr
Goto Top
Hallo Uwe,

Die Website ist bereits geladen und soll nur ausgelesen werden.
Ich kann die Website nicht per LINK öffnen, da diese mit normalen Aufruf noch keine Daten enthält.
WEBSEITE KANN NICHT ANGEZEIGT WERDEN
Daher lasse ich sie auf der Page per Print nochmalige erzeugen (öffnen der Website detail),

Diese soll dann ausgelesen werden.
colinardo
colinardo 01.12.2013 aktualisiert um 11:54:30 Uhr
Goto Top
Zitat von @thomas1972:
Die Website ist bereits geladen und soll nur ausgelesen werden.
wie hast du sie geladen, auch mit dem IE-Object ?
Ich kann die Website nicht per LINK öffnen, da diese mit normalen Aufruf noch keine Daten enthält.
WEBSEITE KANN NICHT ANGEZEIGT WERDEN
Daher lasse ich sie auf der Page per Print nochmalige erzeugen (öffnen der Website detail),
Diese soll dann ausgelesen werden.
kannst du ja machen, wenn die Seite dann offen ist bekommst du den Body-Inhalt ja immer hiermit wenn du die ursprüngliche Seite mit dem IE-Object aufgerufen hast
objIE.Document.Body.innerHTML 
bzw. in Nur-Text hiermit:
objIE.Document.Body.innerText
thomas1972
thomas1972 01.12.2013 um 13:05:52 Uhr
Goto Top
Nein die Website habe ich normal geladen und dann aus dieser eine neue Seite geöffnet welche Detail heist.

Hintergrund, in auf dieser Website x besteht die Möglichkeit Inhalte sich zusammengefasst ausdrucken zu lassen, dazu öffnet die eine neue website die Detail heist, hier kann die Ansicht dann gedruckt werden. Da dachte ich mir anstatt die Seite auszudrucken einfach auslesen und in access weiter zu verwenden
thomas1972
thomas1972 01.12.2013 um 14:50:26 Uhr
Goto Top
Danke uwe, der tippen war hilfreich. Könnte das problem nun lösen und funktioniert Dank deiner hilfe