Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Outlook-Script zum Speichern einer Mail
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9  Weiter
zurück: Signatur per Makro bearbeiten weiter: Warnfenster falls Betreff schon im Postfach vorhanden ? Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes 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: Mail Absender falsch 8 Jürgen Eitler 3343 09. Sep 2005, 13:52
Gast Mail Absender falsch
Keine neuen Beiträge Outlook Mail: Outlook 2003 erste Mail wird nicht verschickt 6 Gast 2734 25. Aug 2005, 13:00
Krug Outlook 2003 erste Mail wird nicht verschickt
Keine neuen Beiträge Outlook Mail: Automatische Antworts mail (Urlaubsfunktion) 1 player-1 2825 21. Jul 2005, 20:04
wolf-it Automatische Antworts mail (Urlaubsfunktion)
Keine neuen Beiträge Outlook Mail: Outlook 2003 / Mail Weiterleiten / ich will es merken 4 Iceman008 1595 14. Jul 2005, 10:50
kraemer Outlook 2003 / Mail Weiterleiten / ich will es merken
Keine neuen Beiträge Outlook Mail: Kann man jede Adresse einer eingehenden Mail aut. speichern? 4 landau666 1425 13. Jul 2005, 17:21
Christi@n Kann man jede Adresse einer eingehenden Mail aut. speichern?
Keine neuen Beiträge Outlook Mail: Arbeitsspeicherprob. beim Anlagenhinzufügen einer neuen Mail 4 Tischler 995 11. Jul 2005, 15:19
Christi@n Arbeitsspeicherprob. beim Anlagenhinzufügen einer neuen Mail
Keine neuen Beiträge Outlook Mail: Abwesenheitsassistent, Mails weiterleiten zu ext. Mail 1 nicksan 1929 22. Feb 2005, 11:45
kraemer Abwesenheitsassistent, Mails weiterleiten zu ext. Mail
Keine neuen Beiträge Outlook Mail: Adressauswahl bei neuem Mail gestört 10 swissbird 912 19. Feb 2005, 15:49
macdeal Adressauswahl bei neuem Mail gestört
Keine neuen Beiträge Outlook Mail: Standard Dateiendung bei Speichern von E-Mails ändern 5 S.Thielen 4414 02. Feb 2005, 12:04
kraemer Standard Dateiendung bei Speichern von E-Mails ändern
Keine neuen Beiträge Outlook Mail: Mails in Extra Ordner speichern. 4 Jason 2540 30. Jan 2005, 14:51
Christi@n Mails in Extra Ordner speichern.
Keine neuen Beiträge Outlook Mail: Wie schreibe ich eine html - Mail mit outlook 2 Mike020174 13305 21. Jan 2005, 02:35
Gast Wie schreibe ich eine html - Mail mit outlook
Keine neuen Beiträge Outlook Mail: manuell mail verschicken 2 redrogue 801 04. Jan 2005, 19:13
redrogue manuell mail verschicken
 

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