Unbrauchbare Zeichen entfernen mit VBA


Sie wollen E-Mails per VBA mit Betreff als Dateiname speichern? Dann haben Sie das Problem, dass ein Smiley oder ein Weihnachtsmann aus dem Betreff kein gültiges Zeichen für einen Dateinamen ist. Auch Punkte und Beistriche werden in einem Dateinamen nicht zugelassen. Ihr Skript stürzt ab 😦

Abhilfe schafft hier folgende Funktion:

Public Function makeSaveName(myText As Variant) As Variant
Dim Pos As Long
Dim Chars As Variant
  For Pos = 1 To Len(myText)
    If InStr(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -_äöüÄÖÜß0123456789", Mid(myText, Pos, 1)) <> 0 Then
      makeSaveName = makeSaveName & Mid(myText, Pos, 1)
    End If
  Next Pos
End Function

Sie pickt sich aus dem übergebenen Originaltext nur mehr die in der Zeichenkette angegebenen Zeichen heraus; der Rest wird weggelassen.

Aus „Frohe Weihnachten, Ihr Lieben!!!“ macht sie „Frohe Weihnachten Ihr Lieben“. Und alles ist gut.

Die Verwendung im Code sieht so aus:

mAtt.SaveAsFile "C:\Users\KatharinaSchwarzer\" & Year(Date) & "\Rechnungen\" & makeSaveName(myItem.Sender) & "_" & Format(Date, "yyyymmdd") & "_" & makeSaveName(myItem.Subject)

Also: Um Sender und Subject herum (aus beiden wird hier der Dateiname gebastelt) kommt jeweils der Funktionsaufruf.

Fertig!

Über katharinakanns

Microsoft Office Master Specialist mit viel Verständnis für IHR Geschäft - ich analysiere IHRE Situation, optimiere IHRE Prozesse, automatisiere IHRE Routineaufgaben, finde IHRE Lösung, unterrichte IHRE MitarbeiterInnen, mache Vorlagen mit IHRER CI, spare IHRE Zeit und IHR Geld. Ich freue mich darauf, SIE kennenlernen zu dürfen :-) Profilfoto: Miriam blitzt - Miriam Mehlman Fotografie - www.miriammehlman.at
Dieser Beitrag wurde unter VBA abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s