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

Problem mit komplizierten Regular Expressions

Problem mit komplizierten Regular Expressions
16.08.2015 23:25:49
Boris

Hallo Leute
Habe ein Problem beim Auslesen von Druckkopie Summen aus dem UI des Druckers.
Leider bietet die Oberfläche keinen Export als TXT oder CSV Datei an. Deshalb möchte ich das ganze gerne mittels Excel auslesen und dort auswerten.
Leider sind im Quelltext keine IDs vergeben für die Einträge der Summen. Ich bin dann auf die Regular Expressions gestossen, kenne mich da aber gar nicht aus.
Der Seitenquelltext sieht wie untenstehend aus:
In der resultierenden Tabelle möchte ich den Wert 999 als Objektnummer haben
und diese 9 Einträge die dem ersten Block im HTML Code entsprechen. Der zweite kürzere HTML Block soll ignoriert werden. Die nächste Objektnummer wäre dann 5030.
Drucksummen
Total (Farbe)
Total (Schwarz)
Farbkopie
Farbscan
Farbdruck
Schwarzkopie
Schwarzscan
Schwarzdruck
if( "true" != NewCardStat )
{
document.writeln('');
document.writeln('');
document.writeln('<\/td>');
}
document.writeln('');
document.writeln('');
document.writeln('999');
document.writeln('<\/a>');
document.writeln('<\/td>');
if( "true" == NewCardStat )
{
document.writeln('');
document.writeln('');
document.writeln('<\/td>');
}
if( "true" == has_clrprt )
{
Draw_CounterLimit( "2530", "0", "0", "false" );
Draw_CounterLimit( "1104", "0", "0", "true" );
Draw_CounterLimit( "1426", "0", "0", "true" );
Draw_CounterLimit( "29", "0", "0", "true" );
Draw_CounterLimit( "7", "0", "0", "true" );
Draw_CounterLimit( "1075", "0", "0", "false" );
Draw_CounterLimit( "105", "0", "0", "true" );
Draw_CounterLimit( "2", "0", "0", "true" );
Draw_CounterLimit( "1321", "0", "0", "false" );
}
else
{
Draw_CounterLimit( "2530", "0", "0", "false" );
Draw_CounterLimit( "7", "0", "0", "true" );
Draw_CounterLimit( "105", "0", "0", "true" );
Draw_CounterLimit( "2", "0", "0", "true" );
Draw_CounterLimit( "1321", "0", "0", "false" );
}
document.writeln('<\/tr>');
document.writeln('');
if( "true" != NewCardStat )
{
document.writeln('');
document.writeln('');
document.writeln('<\/td>');
}
document.writeln('');
document.writeln('
');
document.writeln('5030');
document.writeln('<\/a>');
document.writeln('<\/td>');
if( "true" == NewCardStat )
{
document.writeln('');
document.writeln('');
document.writeln('<\/td>');
}
if( "true" == has_clrprt )
{
Draw_CounterLimit( "2", "0", "0", "false" );
Draw_CounterLimit( "2", "0", "0", "true" );
Draw_CounterLimit( "0", "0", "0", "true" );
Draw_CounterLimit( "0", "0", "0", "true" );
Draw_CounterLimit( "0", "0", "0", "true" );
Draw_CounterLimit( "2", "0", "0", "false" );
Draw_CounterLimit( "0", "0", "0", "true" );
Draw_CounterLimit( "0", "0", "0", "true" );
Draw_CounterLimit( "0", "0", "0", "false" );
}
else
{
Draw_CounterLimit( "2", "0", "0", "false" );
Draw_CounterLimit( "0", "0", "0", "true" );
Draw_CounterLimit( "0", "0", "0", "true" );
Draw_CounterLimit( "0", "0", "0", "true" );
Draw_CounterLimit( "0", "0", "0", "false" );
}
document.writeln('<\/tr>');
Vielleicht kennt sich jemand damit aus und könnte mir dabei behilflich sein.
Wäre toll.
Vielen Dank.
Boris

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
eher nicht
17.08.2015 01:11:53
Michael
Hi Boris,

das ist a) keine komplette Datei und b) frage ich mich, warum Du Dir das nicht aus dem Browser einfach rauskopierst.
Wenn wir das bearbeiten sollen, kopiere den Quelltext ein einen Editor, speichere ihn als .txt ab und lade ihn als Datei hoch.
So weiß nämlich keiner, was nun in Deiner Datei steckt und was nicht.
Schöne Grüße,
Michael

AW: eher nicht
17.08.2015 01:33:54
Boris
Hi Michael
Danke Dir für Deine Antwort. Ich habe der Übersichtlichkeit halber nur einen Auszug aus der Webseite hochgeladen. Es sind mittlerweile mehrere Seite die über die UI aufgerufen werden müssen um alle Objekte anzuzeigen (gestaffelt nach 100er Nummern).
Habe aber nun mal gemäss Deinem Wunsch die Einträge welche unter dem Abschnitt 100 angezeigt werden als .txt Datei gespeichert. Leider ist die Darstellung im Browser relativ schlecht um es direkt rauszukopieren. Wie gesagt sind es mehrere Seiten die ausgewählt werden müssen 5 oder 6 und ich mache das dann für 6 verschiedene Drucker also 6 x 6 und dies jeden Monat. Darum möchte ich es gerne so weit wie möglich automatisieren (oder zumindest halb automatisieren).
Die Datei habe ich hier hochgeladen:
https://www.herber.de/bbs/user/99630.txt
Gruss Boris

Anzeige
AW: eher nicht
17.08.2015 02:55:03
Michael
Hi Boris,
anbei ne abgeänderte Datei aus einem anderen Thread. Im Kopf stehen etliche DIMs, deren Variablen nicht benutzt werden, aber es ist zu spät in der Nacht, als daß ich noch Lust hätte, das aufzuhübschen.
In der Tabelle kannst Du Objekte angeben (L13/14 und ggf. weiter runter, mußt halt im Makro ändern), nach denen gesucht wird.
Weiterhin mußt Du das Verzeichnis/die Dateinamen abändern; das Makro liest derzeit *alle* Files im angegebenen Ordner ein: die Schleife kannst Du ja auskommentieren.
Hier: https://www.herber.de/bbs/user/99631.xls
Happy Exceling,
Michael

Anzeige
AW: eher nicht
17.08.2015 19:24:43
Boris
Hallo Michael
Danke für Deine Hilfe noch so spät nachts :-) Da ich nicht so der VBA Profi bin schaue ich mal ob ich aus Deinem Code schlau werde.
Beste Grüsse Boris

AW: eher nicht
17.08.2015 18:34:53
Sepp
Hallo Boris,
anbei eine Datei zum testen. Schaktfläche klicken, Datei(en) auswählen und "Bearbeitung Starten".
https://www.herber.de/bbs/user/99650.xlsm
Gruß Sepp

AW: eher nicht
17.08.2015 19:31:12
Boris
Hallo Sepp
Auch Dir herzlichen Dank für die Hilfestellung. Da ich wie erwähnt nicht so der VBA Profi bin versuche ich mal Deinen Code zu verstehen und werde es selbstverständlich testen.
Beste Grüsse
Boris

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige