Sub LegalName()
Dim objAtt As attachment
Dim Itm As Object
Set Itm = ActiveInspector.currentItem
For Each objAtt In Itm.Attachments
Debug.Print
Debug.Print Itm.Subject & " " & objAtt.DisplayName
Debug.Print StripIllegalChar(Itm.Subject & " " & objAtt.DisplayName)
Debug.Print ReplaceIllegalChar(Itm.Subject & " " & objAtt.DisplayName)
Debug.Print CleanString(Itm.Subject & " " & objAtt.DisplayName)
Next
End Sub
Private Function StripIllegalChar(strInput)
Dim RegX As Object
Set RegX = CreateObject("vbscript.regexp")
RegX.pattern = "[\" & Chr(34) & "\!\@\#\$\%\^\&\*\(\)\=\+\|\[\]\{\}\`\'\;\:\<\>\?\/\,]"
RegX.IgnoreCase = True
RegX.Global = True
' Remove without a replacement
StripIllegalChar = RegX.Replace(strInput, "")
ExitFunction:
Set RegX = Nothing
End Function
Private Function ReplaceIllegalChar(strInput)
Dim RegX As Object
Set RegX = CreateObject("vbscript.regexp")
RegX.pattern = "[\" & Chr(34) & "\!\@\#\$\%\^\&\*\(\)\=\+\|\[\]\{\}\`\'\;\:\<\>\?\/\,]"
RegX.IgnoreCase = True
RegX.Global = True
' Replace with another string
ReplaceIllegalChar = RegX.Replace(strInput, " ")
ExitFunction:
Set RegX = Nothing
End Function
Private Function CleanString(strdata)
'Specify a replacement for each character
strdata = Replace(strdata, ":", "-")
strdata = Replace(strdata, "_", "")
strdata = Replace(strdata, "´", "'")
strdata = Replace(strdata, "`", "'")
strdata = Replace(strdata, "{", "(")
strdata = Replace(strdata, "[", "(")
strdata = Replace(strdata, "]", ")")
strdata = Replace(strdata, "}", ")")
strdata = Replace(strdata, "/", "-")
strdata = Replace(strdata, "\", "-")
strdata = Replace(strdata, ":", "")
strdata = Replace(strdata, ",", "")
strdata = Replace(strdata, "*", "'")
strdata = Replace(strdata, "?", "")
strdata = Replace(strdata, """", "'")
strdata = Replace(strdata, "<", "")
strdata = Replace(strdata, ">", "")
strdata = Replace(strdata, "|", "")
CleanString = Trim(strdata)
End Function
Bookmarks