kostenloser Webspace werbefrei: lima-city


Emailinhalt als txt.-Datei speichern

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    zocca

    zocca hat kostenlosen Webspace.

    Hi,

    Suche eine Quelltext-Lösung, die mir in Outlook mit Visual Basic automatisch ermöglicht (anhand des Absenders), den Emailinhalt als eine txt.-Datei in einen bestimmten Ordner abzuspeichern.

    Gibts da eine Quellcode-Möglichkeit?

    DANKE.

    Beitrag geaendert: 17.4.2007 11:16:40 von zocca
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Meinst du jetzt direkt von Outlook aus mit VBA als Makro, oder von "extern" über OLE-Automatisierung?
    Grundsätzlich dürfte es kein Problem sein, mittels OLE-Automatisierung (egal ob jetzt als Makro, oder von einem eigenständigen Programm aus) die Nachrichten auszulesen. Wie du den Text dann als Datei abspeicherst, dürfte ja des geringste Übel sein ...

    Stöber' einfach mal durch die Visual Basic Hilfe von Outlook (vorausgesetzt, du hast diese mitinstalliert!).

    Beitrag geaendert: 17.4.2007 11:24:30 von burgi

    Hab nochmal ein bisschen rumgesucht in der VBA-Hilfe:

    GetDefaultFolder (Methode)

    Sub DisplayATaskFolder()
    Dim myolApp As Outlook.Application
    Dim myNamespace As Outlook.NameSpace
    Dim myTasks As Outlook.MAPIFolder
    Dim myFolder As Outlook.MAPIFolder
    Set myolApp = CreateObject("Outlook.Application")
    Set myNamespace = myolApp.GetNamespace("MAPI")
    Set myTasks = myNamespace.GetDefaultFolder(olFolderTasks)
    Set myFolder = myTasks.Folders(1)
    myFolder.Display
    End Sub


    Wenn du im Beispiel oben aus der Hilfe anstelle olFolderTasks olFolderInbox
    verwendest, solltest du zumindest einen Punkt haben, wo du konkret zu suchen anfangen kannst.

    Beitrag geaendert: 17.4.2007 11:28:51 von burgi
  4. Autor dieses Themas

    zocca

    zocca hat kostenlosen Webspace.

    Hi,
    danke für die Infos.

    Aber ich möchte nur die einkommende Email automatisch mit VBA als txt.-Datei in einem Ordner meiner Wahl abspeichern.

    Danke für die Hilfe, vielleicht hast du ja eine Idee... ;)
  5. Autor dieses Themas

    zocca

    zocca hat kostenlosen Webspace.

    Hab leider keine Hilfe in Visual Basic installiert. :slant:

    GetDefaultFolder (Methode)
    
    Sub DisplayATaskFolder()
    Dim myolApp As Outlook.Application
    Dim myNamespace As Outlook.NameSpace
    Dim myTasks As Outlook.MAPIFolder
    Dim myFolder As Outlook.MAPIFolder
    Set myolApp = CreateObject('Outlook.Application')
    Set myNamespace = myolApp.GetNamespace('MAPI')
    Set myTasks = myNamespace.GetDefaultFolder(olFolderTasks)
    Set myFolder = myTasks.Folders(1)
    myFolder.Display
    End Sub


    hmm, so kann der Code doch nicht direkt in "DieseOutlookSitzung" eingefügt werden, oder? :confused:

    Was schreibe ich denn bei "(Methode)" rein und wo kann ich angeben wo die Email als txt.-Datei abgespeichert werden kann?

    Sorry, bin auf dem Gebiet noch neu, Quellcodemäßig noch nicht so der hellste...

    Vielleicht kannst du/ihr mir in dem Fall trotzdem noch ein Stück weiterhelfen...

    VIELEN DANK:thumb:
  6. Autor dieses Themas

    zocca

    zocca hat kostenlosen Webspace.

    Hab da jetzt nach langer langer Suche was gefunden was auch genau das ausführen könnte, was es soll, nur wird in Zeile *** immer der Fehler: "Objekt erforderlich" angezeigt.

    Wie kann ich diesen Fehler jetzt noch beheben sodass es läuft? :confused:

    Dim oMessages As Object, oMessage As Object, nDateinummer As Integer
    
      ' Zugriff auf den Posteingang
      Set oMessages = objSession.Inbox.Messages    ' ***
      
      Do While (True)
        ' Prüfung, ob noch eine Nachricht da ist:
        Set oMessage = oMessages.GetLast
        If (oMessage Is Nothing) Then Exit Do
        
        ' Die Message wird gespeichert unter dem Namen ihrer Überschrift,
        ' und der Inhalt der neuen Datei ist auch der Inhalt der Mail.
        strDateiname = txtPfad.Text & oMessage.Subject & ".txt"
        nDateinummer = FreeFile()
        Open strDateiname For Output As #nDateinummer
        Print #nDateinummer, oMessage.Text
        Close #nDateinummer
        
        ' Löschen der Nachricht, und Fortfahren in der Schleife
        oMessage.Delete
        Set oMessage = Nothing
      Loop
    
      ' Aufräumen
      Set oMessages = Nothing
  7. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Also ich hab mal ein bisschen Zeit investiert:

    Option Explicit
    
    Private Sub Application_NewMail()
    Dim oMessages As Object
    Dim oMessage As Object
    Dim nItems As Object
    Dim nDateinummer As Integer
    Dim strDateiname As String
    Dim iItem As MailItem
    
    Dim myNamespace As Outlook.NameSpace
    Set myNamespace = Application.GetNamespace("MAPI")
    Set Application.ActiveExplorer.CurrentFolder = myNamespace.GetDefaultFolder(olFolderInbox)
    Set oMessages = myNamespace.GetDefaultFolder(olFolderInbox)
    'Set oMessages = objSession.Inbox.Messages    ' ***
    Set nItems = oMessages.Items
      Do While (True)
        ' Prüfung, ob noch eine Nachricht da ist:
        Set oMessage = nItems.GetLast
        If (oMessage Is Nothing) Then Exit Do
        
        ' Die Message wird gespeichert unter dem Namen ihrer Überschrift,
        ' und der Inhalt der neuen Datei ist auch der Inhalt der Mail.
        strDateiname = "C:\test.txt" 'txtPfad.Text & oMessage.Subject & '.txt'
        nDateinummer = FreeFile()
        Open strDateiname For Output As #nDateinummer
        Print #nDateinummer, oMessage.Body
        Close #nDateinummer
        
        ' Löschen der Nachricht, und Fortfahren in der Schleife
        oMessage.Delete
        Set oMessage = Nothing
      Loop
    
      ' Aufräumen
      Set oMessages = Nothing
    
    
    End Sub


    Den Code mußt du bei DieseOutlookSitzung beimNewMail-Ereignis eintragen.

    Übrigens: ich bin sonst sehr hilfsbereit, aber ich finde es irgendwie sehr unverschämt, zu sagen: ich will haben, macht mal! Deinem Post nach suchst du nach einer Quelltext-Lösung (ich weiß ja nicht, was du darunter verstehst), aber wie mit scheint, hast du von Programmieren gar keine Ahnung. Also müßtest du zumindest fragen: Ich suche ein fertiges Makro für Outlook, das blablabla macht. So wie du geschrieben hast, horcht es sich an, als hättest du nur einen "Rempmler" in die richtige Richtung gebraucht.:mad:
  8. Autor dieses Themas

    zocca

    zocca hat kostenlosen Webspace.

    Hallo nochmal,

    ich schreibe schon seit längerem an einem PHP-Projekt.
    Es filtert gewisse Informationen aus txt-Dateien und schreibt diese in eine SQL-Datenbank.
    Da diese Informationen aus Emails stammen und ich diese bisher nur manuell aus Outlook abspeichern konnte habe ich mich bei Google über einen automatischen Weg schlau gemacht, jedoch nur dürftige Ergebnisse gefunden.

    Ich beherrsche Visual Basic in der Tat leider noch nicht sehr gut, deshalb habe ich an dieses sehr gute Forum geglaubt :thumb:, in der Hoffnung, dass irgendjemand das selbe Problem vielleicht schon einmal hatte und mir mit seinem Quelltext ggf. aushelfen könnte.

    Ich wollte hier keinen zum Schaffen nötigen.
    Nächstes Mal formulier ichs günstiger ;)

    Trotzdem möchte ich mich vielmals bei dir bedanken, dass du dir die Mühe gemacht hast, ich werde das ganze in Kürze mal ausprobieren.

    THANKS MFG
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!