Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: --->Office 2010 Forum <-
Outlook-Script zum Speichern einer Mail
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9  Weiter
zurück: Body auslesen oder Signatur einfügen weiter: Outlook Vorlage aus Excel öffnen und Text aus Excel einfügen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort
Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
chales
Mit wenigen Programmier - Kentnisse


Verfasst am:
28. Jan 2008, 16:21
Rufname:

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Jetzt geht alles in T:\Rezepte\ ohne dass ich einen Ordner wählen kann. ALso ohne Nachfrage und Auswahlmöglichkeit.
Eigentlich wollte ich das Vorgabeverzeichnis c:\ auf T:\Rezepte\
ändern. So dass man nicht von C:\ aus durch die ganze Ordnerstruktur klicken muß.

_________________
Learning by doing
Andreas.Fischer
Outlook - Moderator


Verfasst am:
28. Jan 2008, 16:29
Rufname:
Wohnort: Berlin


AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Idea

Das ist hier leider nicht möglich bzw. hab ich noch nicht geschafft.

_________________
Gruß Andreas

Das besondere Erleben.
chales
Mit wenigen Programmier - Kentnisse


Verfasst am:
01. Feb 2008, 14:30
Rufname:

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Folgender Bug ist mir aufgefallen:
Wenn man beim Speichern des Mail auf abbrechen drückt wird dieses trotzdem gespeichert und zwar direkt in c:\.

_________________
Learning by doing
Andreas.Fischer
Outlook - Moderator


Verfasst am:
04. Feb 2008, 10:08
Rufname:
Wohnort: Berlin

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Hallo,

Füge bitte nach der Zeile strBackupPath = GetFileDir die Zeile
Code:
If strBackupPath = "" Then Exit Sub
ein.

Und Danke für den Hinweis.

_________________
Gruß Andreas

Das besondere Erleben.
chales
Mit wenigen Programmier - Kentnisse


Verfasst am:
05. Feb 2008, 08:07
Rufname:


Re: AW: Outlook-Script zum Speichern einer Mail - Re: AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Andreas.Fischer - 23. Jan 2008, 08:53 hat folgendes geschrieben:
Hi,

Mit myitem.FlagStatus = olFlagComplete kennzeichnet du die E-mail als erledigt.

Wo muss ich das den setzen, dass das funktioniert ??
Es sollen nur die abgelegten gekennzeichnet werden.
Bei abbrechen darf nichts gekennzeichnet sein.

_________________
Learning by doing
chales
Mit wenigen Programmier - Kentnisse


Verfasst am:
27. Feb 2008, 10:43
Rufname:

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Gibt es eine Möglichkeit zu prüfen ob das Mail schon in dem Verzeichnis vorhanden ist ?
Vergleich mit Datum und Betreff ?

Gruß

_________________
Learning by doing
Andreas.Fischer
Outlook - Moderator


Verfasst am:
10. März 2008, 08:53
Rufname:
Wohnort: Berlin

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Hallo Chales,

Du kannst mit folgendem Codeteil überprüfen, ob eine E-Mail unter gleichen Namen schon gespeichert ist:
Code:
'    Datei schon gespeichert
   
    Prüfname = strBackupPath & "\" & CleanString(StrName)

    If CreateObject("Scripting.FileSystemObject").FileExists(Prüfname) = True Then
        ... ' Was soll passieren, wenn eine Mail schon existiert.
    Else
        myItem.SaveAs Prüfname, olTXT
    End If


Dieses füge als Ersatz für die Zeile myItem.SaveAs strBackupPath & "\" & CleanString(StrName), olTXT ein.

_________________
Gruß Andreas

Das besondere Erleben.
Gast



Verfasst am:
09. Jul 2008, 22:56
Rufname:

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Die Dateinamen-Bereinigung habe ich so gelöst:

Code:

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'   Name:                       FileSysName
'   letzte Änderung:            29.01.2004
'   Autor:                      tm
'   Beschrieb:                  Ersetzt alle in einem Dateinamen ungültigen
'                               Zeichen mit einem Underline
'   Aufgerufen von:             saveAllMsg
'   übergebene Parameter:       Nachrichten-Betreff
'   zurückgebende Parameter:    String      Dateiname mit Endung ".msg"
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function FileSysName(strSubject As String) As String
  Dim strInvalid As String
  Dim i As Long

  strInvalid = "\/:+*?<>|" & Chr$(34)
  For i = 1 To Len(strSubject)
    If InStr(strInvalid, Mid$(strSubject, i, 1)) <> 0 Then
      Mid$(strSubject, i, 1) = "_"
    End If
  Next i
  FileSysName = strSubject & ".msg"

End Function


Nur so am Rande...
Lif3styl3
Gast


Verfasst am:
28. Jul 2008, 11:29
Rufname:

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Hi,

dieses Script ist im Grunde genau das was ich suche. Nun meine Frage. Funktioniert das ganze auch mit Outlook Express ??

MFG
L!f3
Andreas.Fischer
Outlook - Moderator


Verfasst am:
28. Jul 2008, 13:36
Rufname:
Wohnort: Berlin

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Hallo,

In Outlook Express kann man nicht mit Makros arbeiten.

_________________
Gruß Andreas

Das besondere Erleben.
Lif3styl3
Gast


Verfasst am:
28. Jul 2008, 15:00
Rufname:

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Gibt es für Outlook Express irgendeine ähnliche Möglichkeit ?? bzw. kann man etwas ähnliches machen um das zu erreichen ?
Andreas.Fischer
Outlook - Moderator


Verfasst am:
29. Jul 2008, 07:25
Rufname:
Wohnort: Berlin

Re: AW: Outlook-Script zum Speichern einer Mail - Re: AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Hallo,

Lif3styl3 - 28. Jul 2008, 15:00 hat folgendes geschrieben:
Gibt es für Outlook Express irgendeine ähnliche Möglichkeit ?? bzw. kann man etwas ähnliches machen um das zu erreichen ?
Eine Liste von Tools für Outlook Express findest du hier.
_________________
Gruß Andreas

Das besondere Erleben.
Lif3styl3
Gast


Verfasst am:
07. Aug 2008, 12:28
Rufname:

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

Vielen Dank für deine Antwort,...

wir haben uns nun aber doch für Outlook entschieden. Gibt es da ein Makro oder Tool welches alle eingehenden Mails als txt Datei im Filesystem ablegt ??

Schön wäre auch eine Unterscheidung zwsichen HTML und TXT Datei und dann je nach Dateityp abspeichern. ist aber erstmal optional und kann denke ich schnell nachprogrammiert werden.

Bin leider völlig neu in programmierung von Makros,...

Schon mal vilen Dank.
L!f3
andy-v
Anfänger, werde es aber auch noch lernen


Verfasst am:
08. Aug 2008, 22:14
Rufname:

AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       Version: Office 2003

Hallo miteinander,

ich habe den Thread schon einige Zeit verfolgt und habe mich sehr gefreut, dass ich endlich zu großen Teilen gefunden habe, was ich gesucht habe. Zwischenzeitlich habe ich einen Button zum Aufrufen des VBA-Scripts "Mail sichern" eingebunden und die Mails werden wunderbar gesichert. Befindet sich jedoch innerhalb den markierten Mails noch ein zugesandter Termin, bricht die Sicherung ab. Gibt es eine Möglichkeit, diese Termine ebenfalls zu sichern oder zumindest zu "ignorieren"?
Wenn ja würde ich mich auf über eine Hilfestellung freuen. Meine VBA-Kenntnisse sind leider nur sehr rudimentär.

Viele Grüße und meinen Respekt an die Leute, die das können.

Andy
s.a.m.
Gast


Verfasst am:
25. Aug 2008, 22:52
Rufname:


AW: Outlook-Script zum Speichern einer Mail - AW: Outlook-Script zum Speichern einer Mail

Nach oben
       

hallo,

hab mir den code aus dem thread zusammenkopiert.
funktioniert soweit eigentlich ganz gut, vielen dank an die ersteller Smile

jedoch hätte ich gern, dass der Ordner in dem die anhänge gespeichert werden auch mit Datum benannt wird (Datum_Betreff).

und dass bei gleichem dateinamen nicht hochgezählt wird (also ein (2) angehängt wird), sondern einfach zur nächsten gesprungen wird ?


vielen dank im vorraus.

hier mein code:

Code:

Public Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Public Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Public Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Public Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)

Public Const BIF_RETURNONLYFSDIRS = 1
Public Const MAX_PATH = 260

Public Type BrowseInfo
    hwndOwner As Long
    pIDLRoot As Long
    pszDisplayName As Long
    lpszTitle As Long
    ulFlags As Long
    lpfnCallback As Long
    lParam As Long
    iImage As Long
End Type

Sub SpeichernalsTXT()

Dim myExplorer As Outlook.Explorer
Dim myfolder As Outlook.MAPIFolder
Dim strname As String
Dim myItem As MailItem
Dim olSelection As Selection
Dim strBackupPath As String
Dim lngAttCount As Long, i As Long

Set myExplorer = Application.ActiveExplorer
Set myfolder = myExplorer.CurrentFolder

If Not myfolder.DefaultItemType = olMailItem Then GoTo Ende

strBackupPath = GetFileDir
If strBackupPath = "" Then Exit Sub

Set olSelection = myExplorer.Selection

For Each myItem In olSelection

With myItem
fstTo = Mid(.To, 1, InStr(1, .To, ";", vbTextCompare))
If fstTo = "" Then fstTo = .To
If fstTo = "" Then fstTo = "BCC-Empfänger"
itemName = Format(.ReceivedTime, "yyyy-mm-dd-hh-mm") & "_" & .Subject & "_" & .SenderName ' & "_" & fstTo

strname = IIf(Len(strBackupPath & itemName) > 255, _
Left(itemName, 255 - Len(strBackupPath)), itemName) & ".txt"
End With

'Ist Datei schon vorhanden
strtestname = strBackupPath & "\" & CleanString(strname)

myItem.SaveAs FileExists(strtestname, strBackupPath), oltxt
       
'Anlagen speichern
  lngAttCount = myItem.Attachments.Count
   If lngAttCount > 0 Then
    For i = lngAttCount To 1 Step -1

     With myItem.Attachments.Item(i)
      strname = IIf(Len(strBackupPath & myItem.Subject) > 255, _
                Left(myItem.Subject, 255 - Len(strBackupPath)), myItem.Subject)
               
      strSubDir = strBackupPath & "\" & CleanString(strname)

       If Dir(strSubDir, vbDirectory) = "" Then
        MkDir strSubDir
       End If

'    Datei schon gespeichert
      datei = strSubDir & "\" & .FileName
      geändert = False
      nummer = 1
      Prüfname = datei
Zurück:

      nummer = nummer + 1

       If CreateObject("Scripting.FileSystemObject").FileExists(Prüfname) = True Then
        dateiname = CreateObject("Scripting.FileSystemObject").GetBaseName(datei)
        dateiendung = CreateObject("Scripting.FileSystemObject").GetExtensionName(datei)
        dateinameneu = dateiname & " (" & nummer & ")" & "." & dateiendung
        Prüfname = strSubDir & "\" & dateinameneu
        geändert = True
        GoTo Zurück:
       Else
        If geändert = False Then dateinameneu = .FileName
       End If

     .SaveAsFile strSubDir & "\" & dateinameneu
    End With
   Next
  Else
  End If
Next
Ende:

End Sub

Private Function CleanString(strData As String) As String
strData = ReplaceChar(strData, "´", "_")
strData = ReplaceChar(strData, "`", "_")
strData = ReplaceChar(strData, "'", "_")
strData = ReplaceChar(strData, "{", "(")
strData = ReplaceChar(strData, "[", "(")
strData = ReplaceChar(strData, "]", ")")
strData = ReplaceChar(strData, "}", ")")
strData = ReplaceChar(strData, "/", "-")
strData = ReplaceChar(strData, "\", "-")
strData = ReplaceChar(strData, ":", "")
strData = ReplaceChar(strData, "*", "_")
strData = ReplaceChar(strData, "?", "")
strData = ReplaceChar(strData, """", "_")
strData = ReplaceChar(strData, "|", "")
strData = ReplaceChar(strData, "<", "")
strData = ReplaceChar(strData, ">", "")
CleanString = Trim(strData)
End Function

Private Function ReplaceChar(strData As String, strBadChar As String, strGoodChar As String) As String
Dim tmpChar, tmpString As String
Dim i As Long
For i = 1 To Len(strData)
tmpChar = Mid(strData, i, 1)
If tmpChar = strBadChar Then
tmpString = tmpString & strGoodChar
Else
tmpString = tmpString & tmpChar
End If
Next i
ReplaceChar = Trim(tmpString)
End Function


Public Function FileExists(PrüfnameMsg, SubDir As String)

On Error Resume Next
'Datei schon gespeichert
      changes = False
      Number = 1
      Prüfname = PrüfnameMsg
Back:

      Number = Number + 1

       If CreateObject("Scripting.FileSystemObject").FileExists(Prüfname) = True Then
        dateiname = CreateObject("Scripting.FileSystemObject").GetBaseName(Prüfname)
        dateiendung = CreateObject("Scripting.FileSystemObject").GetExtensionName(Prüfname)
        dateinameneu = dateiname & " (" & Number & ")" & "." & dateiendung
        Prüfname = SubDir & "\" & dateinameneu
        changes = True
        GoTo Back:
       Else
       End If

        If changes = False Then
         FileExists = PrüfnameMsg
        Else
         FileExists = Prüfname
        End If

End Function


Public Function GetFileDir() As String
Dim ret As String
    Dim lpIDList As Long
    Dim sPath As String, udtBI As BrowseInfo
    Dim RdStrings() As String, nNewFiles As Long

    'Show a browse-for-folder form:
    With udtBI
        .lpszTitle = lstrcat("Bitte wählen Sie den Ordner zum Exportieren:", "")
        .ulFlags = BIF_RETURNONLYFSDIRS
    End With

    lpIDList = SHBrowseForFolder(udtBI)
    If lpIDList = 0 Then Exit Function
       
    'Get the selected folder.
    sPath = String$(MAX_PATH, 0)
    SHGetPathFromIDList lpIDList, sPath
    CoTaskMemFree lpIDList
    sPath = StripNulls(sPath)
    GetFileDir = sPath
End Function

Public Function StripNulls(ByVal OriginalStr As String) As String
    If (InStr(OriginalStr, Chr$(0)) > 0) Then
        OriginalStr = Left$(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
    End If
    StripNulls = OriginalStr
End Function

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9  Weiter
Diese Seite Freunden empfehlen

Seite 5 von 9
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Outlook Mail: Dateien aus Archivordner in neue Mail einfügen 1 Janna1 987 06. Sep 2005, 14:33
kraemer Dateien aus Archivordner in neue Mail einfügen
Keine neuen Beiträge Outlook Mail: Automatische Antworts mail (Urlaubsfunktion) 1 player-1 1823 21. Jul 2005, 20:04
wolf-it Automatische Antworts mail (Urlaubsfunktion)
Keine neuen Beiträge Outlook Mail: Meldung "neue Mail" - aber sehen tue ich nichts.. 2 Gast 798 14. Jul 2005, 14:47
Gast Meldung "neue Mail" - aber sehen tue ich nichts..
Keine neuen Beiträge Outlook Mail: beim Mail importieren falsches Datum 2 Homer 1196 12. Jul 2005, 22:01
Homer beim Mail importieren falsches Datum
Keine neuen Beiträge Outlook Mail: Postausgang lässt sich ein mail nicht löschen 1 Gast2784 8181 03. Jul 2005, 11:12
Christi@n Postausgang lässt sich ein mail nicht löschen
Keine neuen Beiträge Outlook Mail: Email Adresse beim Senden einer Mail autovervolständigen 1 Thunderbird² 888 22. Jun 2005, 09:20
kraemer Email Adresse beim Senden einer Mail autovervolständigen
Keine neuen Beiträge Outlook Mail: "Speichern unter" bei *.doc aus Outlook heraus 1 MVJHS33 999 01. Jun 2005, 14:45
Andreas.Fischer "Speichern unter" bei *.doc aus Outlook heraus
Keine neuen Beiträge Outlook Mail: mail von ol2000 nach ol2003 2 Matze B. 699 18. Mai 2005, 00:19
Matze B. mail von ol2000 nach ol2003
Keine neuen Beiträge Outlook Mail: Darstellung des Adressbuchs beim Erstellen einer Mail 2 Andrzew 589 10. Mai 2005, 08:57
Bigboss Darstellung des Adressbuchs beim Erstellen einer Mail
Keine neuen Beiträge Outlook Mail: Outlook 2003 - Töne in eine Mail einbinden 2 Skorpion 693 23. Apr 2005, 22:09
Skorpion Outlook 2003 - Töne in eine Mail einbinden
Keine neuen Beiträge Outlook Mail: Mail Zugang Outlook : Problems!! 1 Kibrisli 792 18. März 2005, 15:16
wolf-it Mail Zugang Outlook : Problems!!
Keine neuen Beiträge Outlook Mail: Mail automatisch nach ersten Betreffwort archivieren 2 webnaex 696 06. März 2005, 12:34
webnaex Mail automatisch nach ersten Betreffwort archivieren
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft-Excel Diagramme