Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Word - Website auslesen |
02.07.2019 13:30:32 |
Bahar |
|
|
|
02.07.2019 13:31:57 |
Gast49743 |
|
|
|
02.07.2019 14:18:58 |
X-Post |
|
|
|
02.07.2019 17:57:14 |
Zwenn |
|
|
Von:
Bahar |
Datum:
02.07.2019 13:30:32 |
Views:
747 |
Rating:
|
Antwort:
|
Thema:
Word - Website auslesen |
Hallo Leute!
Ich bin absoluter Anfänger in VBA. Auf meiner Arbeit bin ich aber die einzige Person die sich für so etwas interessiert, und habe mich daher der Pflege von unseren Makros angenommen.
Ein Makro übersteigt mein Wissen aber um Weiten. Daher brauche ich eure Hilfe.
Es geht um das Ermitteln des zuständigen Finanzamts und automatische Einfügung der Adresse in das Adressfeld unserer Schreiben. Die Website wurde allerdings umgestaltet und nun passt unser Makro nicht mehr. Ich habe es versucht anzupassen, scheiter aber ab einem gewissen Punkt.
Aktuell sieht das Makro so aus:
Public Function html_auslesen(PLZ)
On Error GoTo FEHLER
'Per VBA eine IE-Applikation erzeugen
Dim IEApp As Object
Dim IE_Document As Object
Dim strSuche, strSuche2, SuchePLZ, FA_ANSCHRIFT As String
Dim FA_POSITION, FA_POSITION_ENDE As Integer
Dim a_Strasse As String
Dim a_PLZundORT As String
Dim a_ORT As String
strSuche = "http://www.bzst.de/DE/Service/Behoerdenwegweiser/Finanzamtsuche/GemFa/ _
finanzamtsuche_Formular.html?nn=95918&resourceId=95914&input_=95918&pageLocale=de&suche="
strSuche2 = "&suchePrefix=&submit.x=0&submit.y=0"
SuchePLZ = PLZ
strSuche = strSuche & SuchePLZ & strSuche2
'Neues Browser-Objekt erzeugen
Set IEApp = CreateObject("InternetExplorer.Application")
'Browser versteckt ausführen (höhere Geschwindigkeit)
IEApp.Visible = True
' HTML-Datei aufrufen
IEApp.navigate strSuche
'Seite wieder in eine Variable holen
Do
Call warte(2)
Loop Until IEApp.Busy = False
Set IEDocument = IEApp.Document
'Quellcode in als String einlesen
Dim Sourcecode As String
Sourcecode = IEDocument.body.innerHTML
'Sourcecode aufsplitten nach
Dim SplitArrayOrt As Variant
SplitArrayOrt = Split(Sourcecode, "")
Dim a_BEGINN As Integer
a_BEGINN = InStr(1, SplitArrayOrt(1), "")
a_ORT = Mid(SplitArrayOrt(7), a_BEGINN + 1, Len(SplitArrayOrt(7)) - a_BEGINN + 1)
'Fund aufsplitten und Anschrift auslesen
Dim SplitArray As Variant
' leitet in HTML eine Table-Row ein.. Also eine Tabellenzeile!
SplitArray = Split(SplitArrayOrt(7), "")
'MsgBox Len(SplitArray(0))
a_Strasse = Mid(SplitArray(1), 1, Len(SplitArray(1)) - 200)
a_PLZundORT = Mid(SplitArray(1), 51, Len(SplitArray(1)) - 210)
'Ausgabe der vollen Anschrift
html_auslesen = a_ORT & vbCrLf & _
a_Strasse & vbCrLf & _
a_PLZundORT
'IE schließen
IEApp.Quit
Set IEApp = Nothing
Exit Function
'Fehler:
FEHLER:
MsgBox "Es konnte kein Finanzamt zu der angegebenen PLZ " & PLZ & " ermittelt werden."
'IE schließen
IEApp.Quit
Set IEApp = Nothing
End Function
____________________________________________________
Den Quellcode der Website findet ihr hier:
http://www.bzst.de/DE/Service/Behoerdenwegweiser/Finanzamtsuche/GemFa/finanzamtsuche_Formular.html?nn=95918&resourceId=95914&input_=95918&pageLocale=de&suche=81675&suchePrefix=&submit.x=12&submit.y=16
Die Adresse, die ich haben will befindet sich in den Zeilen 348, 349.
__________________________________________________________________
Im Word-Dokument erscheint bei manchen Finanzämtern dann gar keine Adresse (wurde wohl nicht gefunden) oder der Quelltext (am Beispiel des o.g. Finanzamts) von Zeile 347 bis 362.
Könnt ihr mir helfen?
Ich habe an allen möglichen Variablen herumgeschraubt um zu sehen was sich verändert. Aber ich weiß wirklich nicht mehr weiter, was ich noch tun könnte.
Danke! |
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Word - Website auslesen |
02.07.2019 13:30:32 |
Bahar |
|
|
|
02.07.2019 13:31:57 |
Gast49743 |
|
|
|
02.07.2019 14:18:58 |
X-Post |
|
|
|
02.07.2019 17:57:14 |
Zwenn |
|
|