Erstellung Textdatei mit bestimmter Satzlänge
Trennung von Daten mittels Leerzeichen
Hallo zusammen,
für eine Inhousesoftware nutzen wir eine Konfigurationsdatei, die aus einer Kopf- und einer Datenzeile besteht.
Das Problem hierbei ist, das die Daten immer an der selben Stelle anfangen müssen und Abstände zwischen den "Spalten" mit Leerzeichen gefüllt werden.
Beispiel (_ = Leerzeichen):
Aktuell wird die Datei per Hand editiert, aber da kann es schon mal zu Fehlern kommen, wenn die Daten nicht exakt an der richtigen Stelle stehen.
Nun suche ich eine Möglichkeit, wie ich das per Skript, Batch, VBS, etc. eintragen lassen kann.
Ich müsste irgendwie definieren können, wie lang die Felder sind und das bei Eingabe von weniger Zeichen der Rest mit Leerzeichen aufgefüllt wird.
Tabs funktionieren leider nicht, da dazu die Importsoftware umgeschrieben müsste.
Hat einer eine Idee, wie man das hinbekommt? Google ist heute morgen leider nicht mein Freund
PS: Windows XP Sp3, Office 2003 SP3
*nachtrag*
Ich habe etwas in Excel gefunden, um eine Variable zu begrenzen:
Werden mehr wie 3 Zeichen eingegeben, dann wird der Rest abgeschnitten.
Werden weniger Zeichen eingegeben, wird mit Leerzeichen aufgefüllt.
Das sieht doch nach dem aus, was ich suche.
Weitere Vorschläge sind trotzdem gerne willkommen ;)
*nachtrag²*
Danke, Tsuki, für den Hinweis, aber ich brauche Leerzeichen statt _ (die waren oben nur als Beispiel dafür).
Ich habe das ganze nun in Excel per Makro gelöst und funktioniert.
PS: wenn ich bei Tsuki auf "Antworten" gehe, erhalte ich eine Suchfenster mit dem Hinweis "Ungültiger Suchbegriff :D.
Hallo zusammen,
für eine Inhousesoftware nutzen wir eine Konfigurationsdatei, die aus einer Kopf- und einer Datenzeile besteht.
Das Problem hierbei ist, das die Daten immer an der selben Stelle anfangen müssen und Abstände zwischen den "Spalten" mit Leerzeichen gefüllt werden.
Beispiel (_ = Leerzeichen):
Zeile1: _Typ___Name_______Konfig___....
Zeile2: _XY____Beispiel___08154711_....
Nun suche ich eine Möglichkeit, wie ich das per Skript, Batch, VBS, etc. eintragen lassen kann.
Ich müsste irgendwie definieren können, wie lang die Felder sind und das bei Eingabe von weniger Zeichen der Rest mit Leerzeichen aufgefüllt wird.
Tabs funktionieren leider nicht, da dazu die Importsoftware umgeschrieben müsste.
Hat einer eine Idee, wie man das hinbekommt? Google ist heute morgen leider nicht mein Freund
PS: Windows XP Sp3, Office 2003 SP3
*nachtrag*
Ich habe etwas in Excel gefunden, um eine Variable zu begrenzen:
Dim a As String * 3
Werden weniger Zeichen eingegeben, wird mit Leerzeichen aufgefüllt.
Das sieht doch nach dem aus, was ich suche.
Weitere Vorschläge sind trotzdem gerne willkommen ;)
*nachtrag²*
Danke, Tsuki, für den Hinweis, aber ich brauche Leerzeichen statt _ (die waren oben nur als Beispiel dafür).
Ich habe das ganze nun in Excel per Makro gelöst und funktioniert.
PS: wenn ich bei Tsuki auf "Antworten" gehe, erhalte ich eine Suchfenster mit dem Hinweis "Ungültiger Suchbegriff :D.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 150982
Url: https://administrator.de/contentid/150982
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
2 Kommentare
Neuester Kommentar
Ich weiß ja nicht, wie fit Du in Excel bist. Ich hätte noch einen Vorschlag, wie das ganze ohne Script läuft. Der Ansatz wäre diese Formel:
Die Feldlänge wird in A1 definiert und ist somit variabel - ansonsten den Ausdruck a$1 durch eine Zahl ersetzen
Der erste Teil von Wenn prüft, ob die Daten länger sind als die Spalte und nimmt dann von Links soviel in die Spalte passen.
Der zweite Teil von Wenn befüllt die fehlenden Zeichen von Links mit Leerstellen.
Der Wert, der umzuwandeln ist, wird in Zelle F3 erwartet.
Markus
WENN(LÄNGE(F3)>A$1;LINKS(F3;A$1);LINKS(WIEDERHOLEN(" ";A$1);A$1-LÄNGE(F3))&F3)
Die Feldlänge wird in A1 definiert und ist somit variabel - ansonsten den Ausdruck a$1 durch eine Zahl ersetzen
Der erste Teil von Wenn prüft, ob die Daten länger sind als die Spalte und nimmt dann von Links soviel in die Spalte passen.
Der zweite Teil von Wenn befüllt die fehlenden Zeichen von Links mit Leerstellen.
Der Wert, der umzuwandeln ist, wird in Zelle F3 erwartet.
Markus