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

Textdatei (xsd) durchsuchen

Textdatei (xsd) durchsuchen
25.06.2019 17:04:11
ing.grohn
Hallo Forum,
in letzter Zeit muss ich Textdateien nach bestimmten Kriterien durchsuchen.
Funktioniert! Aber: dauert ne halbe (gefühlt:ganze) Ewigkeit!
Hier der Code:

Function Gericht_suchen(GerichtsNr As String) As String
Dim strText As String
Dim strTextG As String
Dim Gericht As String
Dim Posi1 As Long
Dim Posi2 As Long
'anpassen
Open "E:\beA\xsd\xjustiz_Gericht_xsd.xsd" For Input As #1
Do While Not EOF(1)
Line Input #1, strText
strTextG = strTextG & strText
Loop
Close #1
MsgBox Len(strTextG)
strTextG = Umlaute(strTextG)
Posi1 = InStr(strTextG, GerichtsNr)
If Posi1 > 0 Then
Posi1 = InStr(Posi1, strTextG, "")
Posi2 = InStr(Posi1, strTextG, "")
Gericht = Mid(strTextG, Posi1 + 10, Posi2 - Posi1 - 10)
Gericht_suchen = Gericht
Else
Gericht_suchen = "Gericht " & GerichtNr & " nicht gefunden"
End If
strTextG = ""
End Function
'Aufruf
Sub testgericht()
MsgBox Gericht_suchen("P6122")
End Sub

das Problem liegt in der Zeit, die erforderlich ist, die Datei einzulesen.
Die Suche ist dann schnell erledigt.
Hat jemand ne Idee wie ich das Ganze beschleunigen kann (ich möchte die Datei eigentlich nicht in eine Exeltabelle einlesen (da gehts auch schnell)?
Datei Datei häng ich mal an:
https://www.herber.de/bbs/user/130576.zip
(bitte die .txt-Datei in xsd umbenennen oder Quellcode in .txt ändern,
Quelle:www.xjustiz.justiz.de/downloads/index.php#Versionen)
Für Eure Bemühungen bedanke ich mich!
Mit freundlichen Grüßen
Albrecht

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: XML-Datei
25.06.2019 17:08:30
Fennek
Hallo,
für XML-Dateien gibt es spezielle Parser, die auch recht schnell sein sollen.
mfg
AW: Textdatei (xsd) durchsuchen
25.06.2019 17:23:27
Zwenn
Hallo Albrecht,
das ist eine XML-Datei. Warum verarbeitest Du die in einem String? Dafür gibt es doch MSXML. Was macht die Funktion Umlaute()? Ich nehme an Du ersetzt damit alle Umlaute, weil die im String alle falsch drin stehen richtig? Die XML-Datei ist in UTF8 codiert. Das kannst Du mit Deiner Methode zum Einlesen der Datei nicht sauber verarbeiten.
Mit welchem Betriebssystem arbeitest Du? Falls es ein Mac ist, weiß ich nicht, ob man das richtig lösen kann, da MSXML wohl an den Internet Explorer gebunden ist.
http://support.microsoft.com/de-de/help/275883/info-xml-encoding-and-dom-interface-methods
Lade mal bitte eine ganze Beispielemappe hoch, mit dem gesamten VBA-Code
Viele Grüße,
Zwenn
Anzeige
AW: Textdatei (xsd) durchsuchen
25.06.2019 17:39:45
ing.grohn
Hallo Zwenn,
ist mir schon klar, dass das ne xml-Datei ist.
Ich hab nur noch nichts gefunden, wie ich diese Dateien schnell lesen kann und dann an die Werte komme. Z. B. nützt/hilft es nichts die Datei in Excel einzulesen (zu aufwendig).
Mit der Funktion Umlaute schmeiss ich alle unnötigen Elemente (CR, LF Tab etc) raus und passe die Umlaute an.
Die Mappe kann ich nicht so einfach hochladen (wg der Daten). Da muss ich dann erst richtig was tun!
Eigentlich wäre mir ein Beispiel lieb, an dem ich sehen kann, wie man XML-Dateien einfach händelt.
Ich arbeite mit Win7 und Excel 365.
Werd mir den Link mal ansehen
Vielleicht hast du noch ne Idee!
mt freundlichen Grüßen
Albrecht
Anzeige
AW: VBA-Code
25.06.2019 17:47:57
Fennek
Hallo,
für den ersten Anlauf sah das recht gut aus:

Const Pfad As String = "z:\" '>>>
Public Sub LoadDocument()
Dim xDoc As Object: Set xDoc = CreateObject("MSXML2.DOMDocument")
xDoc.Load (Pfad & "xjustiz_Gericht.xsd")
Set oNode = xDoc.SelectNodes("//xs:enumeration")
For Each CdN In oNode 'CodeName
Debug.Print CdN.Text
Next CdN
Set Vv = xDoc.getElementsByTagName("xs:enumeration")
For Each v In Vv
Debug.Print v.Attributes.getNameditem("value").Text
Next v
Set xDoc = Nothing
End Sub
mfg
AW: VBA-Code
25.06.2019 18:34:52
ing.grohn
Hallo Fennek,
vielen Dank für den Code.
Werd ich heut Abend austesten!
MfG
Albrecht
Anzeige
AW: Textdatei (xsd) durchsuchen
25.06.2019 17:56:44
Daniel
Hi
hier findest du zwei Methoden beschrieben, eine Textdatei in einem Schritt in eine Variable einzulesen:
https://dbwiki.net/wiki/VBA_Tipp:_Textdatei_einlesen
das sollte etwas schneller sein als die Schleife.
Gruß Daniel
AW: Textdatei (xsd) durchsuchen
25.06.2019 18:33:46
ing.grohn
Hallo Daniel,
sehr gute Idee!!
Hatte ich überhaupt nicht mehr dran gedacht, ne Datei binär zu öffnen!
(unter DOS waren Random und Binär Zugriffe an der Tagesordnung)
Vielen Dank
Albrecht
AW: Textdatei (xsd) durchsuchen
25.06.2019 21:00:08
ing.grohn
Hallo Daniel,
"..sollte etwas schneller sein.. "
etwas?
blitzartig (0,004 statt 4,etwas)!!!
vielen Dank
Albrecht

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige