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

Access 2007 Text aus variabler länge bestimmen und durch Umbruch ersetzen (VBA)

Frage Entwicklung VB for Applications

Mitglied: christiankarl

christiankarl (Level 1) - Jetzt verbinden

04.12.2013, aktualisiert 10:33 Uhr, 1689 Aufrufe, 3 Kommentare

Hallo,
ich lese Text aus einen Dateien in eine Variable um inhalte daraus in Tabellen einzufügen

Die Texte sehen z.b. so aus:

01.
... 
02.
03.12.13 13:07:25DGTALACDieses ist ein Test 
03.
changed blub bla bla 
04.
03.12.13 13:07:DGTALACDieses ist ein Test 
05.
Wollen wir mal schauen 
06.
-und so weiter. 
07.
danke 
08.
03.12.13 13:07:DGTALACDieses ist ein Test 
09.
Wollen wir mal schauen 
10.
03.12.13 13:07:DGTALACDieses ist ein Test 
11.
und so weiter 
12.
03.12.13 12:54:DGTALACDieses ist ein Test 
13.
....
Ich lasse mit
01.
If Inhalt(7) Like ("*??.??.?? ??:??:?????????*") = True Then  ' 
02.
            InStr(2, Inhalt(7), Chr(13) & Chr(10))
die Länge bestimmen, nur wie bekomme ich es hin, anstallt der gesamten Zeile mit Datum und Uhrzeit nur einen umbruch einzubinden

Das Ergebnis sollte wie folgt aussehen

01.
.... 
02.
changed blub bla bla 
03.
 
04.
Wollen wir mal schauen 
05.
-und so weiter. 
06.
danke 
07.
 
08.
Wollen wir mal schauen 
09.
 
10.
und so weiter 
11.
....
Mitglied: Xolger
04.12.2013 um 10:46 Uhr
Hallo,

ersetze doch die Zeile in deiner Weiterverarbeitung einfach durch
01.
Chr(13) & Chr(10)
.
Und wozu ermittlest du die Länge?
Und in welche Variable wird die gespeichert?

01.
If Inhalt(7) Like ("*??.??.?? ??:??:?????????*") = True Then  ' 
02.
            Ausgabe = Ausgabe & Chr(13) & Chr(10)

Gruß
Xolger
Bitte warten ..
Mitglied: colinardo
04.12.2013, aktualisiert um 11:08 Uhr
Hallo christiankarl,
wenn in der Variablen Inhalt(7) der gesamte Text (nicht nur eine Zeile) gespeichert ist kannst du es komplett direkt so machen:
01.
Set myRegExp = CreateObject("vbscript.regexp") 
02.
myRegExp.MultiLine = True  
03.
myRegExp.Global = True 
04.
myRegExp.Pattern = "^\d{2}\.\d{2}\.\d{2} \d{2}:\d{2}[^\n]*" 
05.
resultString = myRegExp.Replace(Inhalt(7), "") 
06.
MsgBox resultString
falls du noch nix mit Regular Expressions am Hut hattest, hier die Erläuterung des Patterns:
^\d{2}\.\d{2}\.\d{2} \d{2}:\d{2}[^\n]* 
 
Assert position at the beginning of a line (at beginning of the string or after a line break character) «^» 
Match a single digit 0..9 «\d{2}» 
   Exactly 2 times «{2}» 
Match the character “.” literally «\.» 
Match a single digit 0..9 «\d{2}» 
   Exactly 2 times «{2}» 
Match the character “.” literally «\.» 
Match a single digit 0..9 «\d{2}» 
   Exactly 2 times «{2}» 
Match the character “ ” literally « » 
Match a single digit 0..9 «\d{2}» 
   Exactly 2 times «{2}» 
Match the character “:” literally «:» 
Match a single digit 0..9 «\d{2}» 
   Exactly 2 times «{2}» 
Match any character that is NOT a line feed character «[^\n]*» 
   Between zero and unlimited times, as many times as possible, giving back as needed (greedy) «*»
solltest du dich unbedingt mal mit beschäftigen, das erleichtert das extrahieren von bestimmten Textpassagen erheblich !

Grüße Uwe
Bitte warten ..
Mitglied: Xolger
04.12.2013 um 11:02 Uhr
Hi,

Zitat von colinardo:

Hallo christiankarl,
wenn dein String in der Variablen Inhalt(7) gespeichert ist kannst du es so machen:

Hab ich glatt übersehen mit der Variablen (Blindheit halt):

Dann würde es in deiner angepassten Variante heißen:
01.
If Inhalt(7) Like ("*??.??.?? ??:??:?????????*") = True Then  ' 
02.
           Inhalt(7)=""
Sonst gibts evtl. 2 Zeilenumbrüche.


Gruß
Xolger
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Variable aus Registrie mit varriabler Länger (4)

Frage von QandAt zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel Umbrüche (14)

Frage von Roflminder zum Thema Microsoft Office ...

VB for Applications
gelöst Excel - VBA - Fusszeile Text und Grafik (1)

Frage von Juckie zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (19)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (12)

Frage von shearer9 zum Thema Voice over IP ...