Microsoft Excel

Herbers Excel/VBA-Archiv

Daten aus Textdatei auslesen

Betrifft: Daten aus Textdatei auslesen von: Rezzo
Geschrieben am: 25.08.2004 18:39:49

Hallo,

ich habe folgendes Problem:
Für eine Studienarbeit muß ich Einladungen zu einer Online-Umfrage per eMail verschicken.
Allerdings wurden die eMail Adressen von einer Studentengruppe schriftlich erfasst, so daß einige Adressen fehlerhaft sind.
Somit kommen einige der verschickten Mails zurück. Leider generiert jeder Mailserver eine andere Fehlermail, so daß es sehr umständlich ist diese per Hand auszuwerten.

Die Fehlermeldungs-Mails kann ich von meinem Mailprogramm (The Bat) in eine Textdatei speichern lassen.
Nun meine Frage: Wie kann ich z.B. mit Excel aus dieser Textdatei die eMail-Adressen (also den "Buchstaben" um das @-Zeichen) auslesen und in ein Tabellenblatt untereinander speichern??

Vielen Dank im Voraus
Rezzo

  


Betrifft: AW: Daten aus Textdatei auslesen von: Jens M
Geschrieben am: 26.08.2004 11:06:03

Hallo Rezzo!

Du hast leider nicht geschrieben, ob die Namen untereinander oder nebeneinander stehen, verkettet sind oder was auch immer.

Guck doch mal welcher solcher Problemstellungen mal nach unter:

http://www.excelformeln.de/formeln.html?gruppe=2

Gruß
Jens


  


Betrifft: AW: Daten aus Textdatei auslesen von: Rezzo
Geschrieben am: 26.08.2004 14:30:25

Hallo Jens,

danke für den Link.
So richtig habe ich aber nichts passendes gefunden.

Die Namen/Emailadressen stehen irgendwo im Text - ein kleiner Auszug aus dem Textfile steht unten. Es geht im Prinzip darum die Adresse MUSTERMANN@freenet.de (und andere) zu extrahieren.


Return-Path: <>
Received: from 172.19.XX.XXX (helo=mxng04.kundenserver.de)
by mqueue.kundenserver.de with ESMTP (Nemesis),
id XXXXXX-1BvbEB3tXu-0001Il; Fri, 13 Aug 2004 14:32:11 +0200
Received: from [212.227.XXX.XXX] (helo=moutng.kundenserver.de)
by mxng04.kundenserver.de with esmtp (Exim 3.35 #1)
id XXXXXX-0005AC-00
for umfrage@XXXXXXXX.de; Fri, 13 Aug 2004 14:32:11 +0200
Received: from mail by moutng.kundenserver.de with local (Exim 3.35 #1)
id 1BvbEB-0007Js-00
for umfrage@XXXXXXXX.de; Fri, 13 Aug 2004 14:32:11 +0200
X-Failed-Recipients: MUSTERMANN@freenet.de
From: Mail Delivery System
To: umfrage@XXXXXXXXX.de
Subject: Mail delivery failed: returning message to sender
Message-Id:
Date: Fri, 13 Aug 2004 14:32:11 +0200
Envelope-To: umfrage@XXXXXXXXX.de
X-SpamScore: 0.000



This message was created automatically by mail delivery software (Exim).

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

MUSTERMANN@freenet.de
SMTP error from remote mailer after RCPT TO::
host mx.freenet.de [194.97.XX.XXX]: 550 unrouteable address


  


Betrifft: AW: Daten aus Textdatei auslesen von: Oberschlumpf
Geschrieben am: 28.08.2004 16:01:43

Hi Rezzo

Versuch es mal so:

Dim Zeile As String
Dim ATposition As Integer, Leer1 As Integer, Leer2 As Integer
Dim Suche As Integer, Suche1 As Integer
Dim TabZeile As Integer

TabZeile = 1
Open "DeineTXT-Datei.txt" For Input As #1
    Do Until Eof(1)
        Line Input #1, Zeile
           If InStr(Zeile)="Recipients" Then
               For Suche = 1 to Len(Zeile)
                   If Mid(Zeile, Suche, 1) = "@" Then
                       ATposition = Suche
                           For Suche1 = ATposition to 1 Step -1
                               If Mid(Zeile, Suche1, 1) = " " then
                                   Leer1 = Suche1
                                   Exit For
                               End If
                           Next
                           For Suche1 = ATposition To Len(Zeile) - ATposition
                               If Mid(Zeile, Suche1, 1) = " " then
                                   Leer2 = Suche1
                                   Exit For
                               End If
                           Next
                           Range("A" & TabZeile).Value = Mid(Zeile, Leer1, Leer2)
                           TabZeile = TabZeile + 1
                       Exit For
                   End If
               Next
           End If
   Loop

Hier ist aber Voraussetzung, dass das Wort "Recipients" immer in der Zeile mit der gesuchten eMail-Adr vorhanden ist.

In diesem Bsp wird jede Zeile der txt-Datei nach dem Wort "recipients" durchsucht.
Bei Erfolg wird IN DIESER Zeile dann nach dem "@"-Zeichen gesucht.
Bei Erfolg wird dann die Position des ersten Leerzeichens VOR und NACH dem @-Zeichen ermittelt.
Sind beide Werte gefunden, wird die Textfolge, beginnend mit Position Leer1 und abschließend mit Position Leer2 in die Spalte A eingetragen.

Dieser Code ist nur eine Überlegung ohne getestet zu sein.

Konnte ich helfen?

Ciao
Thorsten


 

Beiträge aus den Excel-Beispielen zum Thema "Daten aus Textdatei auslesen"