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

Datenblatt auslesen

Datenblatt auslesen
10.07.2018 10:55:08
Daniel
Hallo zusammen,
ich bin momentan an einem Makro, welches per pdftotxt.exe (Tool aus xpdfreader) aus einem Datenblatt (elektonische Bauelemente) eine Textdatei erstellt.
Diese möchte ich anschließend per Regex durchsuchen und die Werte in das Excel Dokument schreiben.
Mein Problem ist aber das jeder Hersteller ein anderes Format für die Darstellung seines Datenblatts verwendet.
Beispielhaft werde ich den RDSon eines FETs nehmen:
IRF:
RDS(on)&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspStatic&nbspDrain-to-Source&nbspOn-Resistance&nbsp&nbsp&nbsp&nbsp&nbsp---&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp---&nbsp&nbsp­­­&nbsp&nbsp&nbsp&nbsp0.025&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspVGS&nbsp=&nbsp10V,&nbspID&nbsp=&nbsp29A&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
infineon:
Drain-source&nbspon-state&nbspresistance&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspR&nbspDS(on)&nbsp&nbsp&nbsp&nbspV&nbspGS=4.5&nbspV,&nbspI&nbspD=0.25&nbspA&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp---&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp2.0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp4&nbsp&nbsp&nbsp&nbsp&nbsp
vishay:
Drain-Source&nbspOn-Resistancea&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspRDS(on)&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspVGS&nbsp=&nbsp10&nbspV,&nbspID&nbsp=&nbsp1.5&nbspA&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp0.195&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp0.250&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
oder
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspVGS&nbsp=&nbsp­10&nbspV,&nbspID&nbsp=&nbsp­3&nbspA&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp0.064&nbsp&nbsp&nbsp0.080
Drain-Source&nbspOn-Resistancea&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsprDS(on)&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspW
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspVGS&nbsp=&nbsp­4.5&nbsp&nbspV,&nbspID&nbsp=&nbsp­2.5&nbspA&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp0.103&nbsp&nbsp&nbsp0.140
Auslesen möchte ich natürlich den Widerstand und zwar immer den maximalen. Außerdem VGS und ID.
Das Problem ist auch, wie beim zweiten vishay zu sehen, dass es manchmal passiert, dass die Werte in der Zeile verrutschen aufgrund der Formatirung in der PDF.
Gibt es eine elegantere Lösung als das Textdokument per regex zu durchsuchen? Ich habe zwar einen Code der halbwegs funktioniert, jedoch nicht 100% zuverlässig. Aber auch nur wenn die Wetrte in einer Zeile stehen.
Mein Code für den RDSon sieht momentan zu aus (colTFile ist mein Textdokument, welcher aus der PDF erstellt wurde):
'RDS on auslesen
regex.Pattern = "[Dd]rain.*[Oo]n.*[Rr]es.*[^\n\r]+( {2,}([\d\.]{1,}) {2,})" 'Widerstand
Set matches = regex.Execute(FSO.OpenTextFile(colTFile.Item(1)).ReadAll)
If matches.Count > 0 Then
values(8) = matches(0).submatches(1)
End If
regex.Pattern = "[Dd]rain.*[Oo]n.*[^\n\r]+(=[ ]*([\d\.]{1,}) ?V)" 'Spannung
Set matches = regex.Execute(FSO.OpenTextFile(colTFile.Item(1)).ReadAll)
If matches.Count > 0 Then
zusatz(1) = matches(0).submatches(1)
End If
regex.Pattern = "[Dd]rain.*[Oo]n.*[^\n\r]+(=[ ]*([\d\.]{1,}) ?A)" 'Strom
Set matches = regex.Execute(FSO.OpenTextFile(colTFile.Item(1)).ReadAll)
If matches.Count > 0 Then
zusatz(2) = matches(0).submatches(1)
End If

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gemeinsamkeiten
10.07.2018 11:07:32
Fennek
Hallo,
eigentlich find ich RegEx sehr gut, aber in den gezeigten Beispielen
- beginnt es immer mit VGS
- endet immer mit A
- enthält 2 "="
- enthält 1x ","
Daraus sollte man eine Abfrage machen können.
mfg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige