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, 1649 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 ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Microsoft Office
gelöst Access 2007 (2)

Frage von Everest zum Thema Microsoft Office ...

LAN, WAN, Wireless
Access Point: Ubiquiti UAP AC PRO Einschätzung Reichweite (4)

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

Batch & Shell
Powershell - In Textdatei suchen und ersetzen (3)

Frage von Raaja89 zum Thema Batch & Shell ...

LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

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

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...