Hi Zusammen, habe aus dem Netz Makros, damit die in Outlook 2007 markierten Emails auf die Festplatte als .msg abgespeichert werden.
Die Mails werden mit dem Betreff gespeichert und davor wurde das Eingangsdatum gesetzt, dies funktioniert auch alles.
Wie kann ich nun sagen, dass die Mail folgendermapßen gespeichert werden soll: Datum + Betreff, aber nur die ersten 10 Buchstaben bzw. Zeichen des Betreffs`?
Hier der Code
Danke
Sub Mail\_Speichern(ByVal Mail As Object)
Dim Betreff As String
Dim absender As String
Dim SaveString As String
Dim AuftragsNr As String
Dim Eingangsdat As String
If TypeName(Mail) = "MailItem" Then
absender = Mail.SenderName
Betreff = Mail.Subject
Eingangsdat = Format(Mail.ReceivedTime, "yyyy.mm.dd" & " - ")
' Eingangsdat = Mail.ReceivedTime
'stellt eine 4 stellige Laufnummer voran, damit sich Mails mit gleichem Betreff und Absender nicht doppeln
'die Formation ist zur besseren Sortierung im Explorer, bei mehr als 10000Mails einfach mehr Nullen voranstellen lassen
''' Betreff = Absender & " \_ " & Betreff & " empfangen am " & Eingangsdat & " " & Format$(Lfn, "00")
'''Absender wird nicht benötigt steht in der Mail
''Betreff = Eingangsdat & " " & Betreff & " von " & Absender
'Nur Datum und Betreff
Betreff = Eingangsdat & " " & Betreff
'Folgende Zeilen filtern alle möglichen Sonderzeichen raus, die nicht als Dateinamen auftreten dürfen
Betreff = Replace(Betreff, ":", ".")
Betreff = Replace(Betreff, "\*", "#")
Betreff = Replace(Betreff, """", " ")
Betreff = Replace(Betreff, "|", "#")
Betreff = Replace(Betreff, "?", " ")
Betreff = Replace(Betreff, "\>", "-")
Betreff = Replace(Betreff, "= 255 Then
'Right(savestring,230)
'und Speichern
Mail.SaveAs SaveString, olMSG
''''## Hier code zum löschen der verschobenen Mails ## ''''
'Mail.Delete
End If
'Lfn = Lfn + 1
End Sub