Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Erstellung Textdatei mit bestimmter Satzlänge

Frage Entwicklung

Mitglied: Iwan

Iwan (Level 2) - Jetzt verbinden

14.09.2010, aktualisiert 11:22 Uhr, 4681 Aufrufe, 2 Kommentare

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):
01.
Zeile1: _Typ___Name_______Konfig___.... 
02.
Zeile2: _XY____Beispiel___08154711_....
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:
01.
Dim a As String * 3
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.
Mitglied: TsukiSan
14.09.2010 um 10:24 Uhr
Hallo Iwan,

die fehlenden Stellen (Leerzeichen) könntest du eventuell dann noch so replacen:
01.
    Dim a As String * 5 
02.
    a = " Hal" 
03.
    a = Replace(a, " ", "_") 
04.
    MsgBox a
Gruss
Tsuki
Bitte warten ..
Mitglied: BigWim
14.09.2010 um 11:34 Uhr
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:

01.
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
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...