Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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

VBA: Webseiten in ein Datenbank laden

VBA: Webseiten in ein Datenbank laden
26.01.2021 16:20:03
Paul
Hallo liebe Community,
ich habe nun ein etwas komplizierteres Problem: Ich möchte aus einer internen Personaldatenbank(-Website) einen kompletten Abzug aller Daten für bestimmte Mitarbeiter in eine Excel-Tabelle untereinander importieren und nach Bedarf per Knopfdruck aktualisieren. Die URLs der Personalseiten sind immer gleich aufgebaut. Bsp: intranet.xy.com//perl/entry?id=1234567 . Lediglich die ID am Ende ist eindeutig. Diese ID(s) habe ich in einer Excel-Liste bereits vorliegen. Die Daten auf der Website sind im Tabellen Format und somit gut zu importieren (Name,Adresse usw....). Somit bräuchte ich ein Script, welches im Loop immer wieder die gleiche Abfrage macht, bis für alle IDs die Daten (untereinander) in einer Tabelle runtergeladen wurden - per Knopfdruck (aktualisierung) werden diese Daten dann einfach überschrieben.
Die manuelle Datenabfrage in Excel ist an sich ja nicht schwer, solange man diese nicht automatisieren möchte. Hat jemand eine Idee, wie man das angehen könnte?
LG
Paul

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

Betreff
Datum
Anwender
Anzeige
AW: Beispiel
26.01.2021 16:34:21
Fennek
Hallo,
da es nicht möglich ist, den Code für die Webseite anzupassen, hier ein Pseudo-Code:

Sub GetDate()
with CreateObject("MSXML2.ServerXMLHTTP")
'ID's in Spalte A
for i = 2 to cells(rows.count, 1).end(xlup).row
.Open "GET", "https://intranet.xy.com//perl/entry?id=" & cells(i,1), False
.send ("")
UserData = .responseText
'########## UserData auswerten und in Cells(i,2) schreiben
next i
end with
End Sub
Wenn Du Unterstützung für das Auslesen der Ergebnisse benötigst, kopiere den html-Quellcode in eine Text-Datei und entfern alle personenbezogenen Daten.
mfg
Anzeige
AW: Beispiel
26.01.2021 17:31:28
Paul
Vielen lieben Dank soweit! Leider reichen meine Kenntnisse nicht einmal aus, um diese UserData auch nur ansatzweise in eine vernünftige Form zu bringen. Daher hier mal der html-Code von so einer Directory-Seite. Die Datei habe ich unteranderem um den Header und Footer gekürzt. Hopefully sind keinerlei Daten mehr bzgl Unternehmen usw. drin :D
Code
https://www.herber.de/bbs/user/143336.html
kannst du damit etwas anfangen?
AW: im Prinzip ja, aber
26.01.2021 18:01:59
Fennek
Hallo,
der Quellcode ist recht komplex, aber es sollte möglich sein, die gesuchten Information auszulesen. Aber nach einem ersten Blick ist es mir zu komplex.
Aber es viele andere potentielle Helfer.

//@cc_on
//@if (@_jscript_version >=5)
//@  try {
//@   GroupDirectoryIMNControlObj=new ActiveXObject("Name.NameCtrl.1");
//@   var script = document.createElement('script');
//@   script.setAttribute('type','text/javascript');
//@   script.setAttribute('src','/js/GDNameCtrlv1.0.js');
//@   document.getElementsByTagName('head')[0].appendChild(script);
//@  } catch(e) {
//@  };
//@else
//@end
Solche Scripts mag ich gar nicht.
mfg
Anzeige
AW: im Prinzip ja, aber
26.01.2021 21:06:52
Yal
Hallo Paul,
wie Fennek sagt: im Prinzip ja, aber...
Mit VBA wirst Du mangels Wissens nicht weit kommen. Du kannst dein Glück mit Power Query versuchen. Es gibt zahlreiche Videos unter dem Stichwort power query html scraping.
Da muss Du parallel die Webseite im Browser im Entwicklermodus durchforsten, sollte aber gehen.
In diesem Beitrag hatte ich die Seite von clever-tanken angezpaft:
https://www.herber.de/forum/archiv/1804to1808/1806484_Index_auerhalb_des_gueltigen_Bereichs.html
In deinem sollte es ein bischen leichter sein.
Viel Erfolg
Yal
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige