Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Outlook and VBA (http://www.outlookbanter.com/outlook-vba/)
-   -   Strip illegal character from filename (http://www.outlookbanter.com/outlook-vba/72212-strip-illegal-character-filename.html)

ExcelLars May 19th 08 09:10 AM

Strip illegal character from filename
 
Is it possible to do this with less code?

EmneRensket = Rensket(Emne, ":")
EmneRensket = Rensket(Emne, ";")
EmneRensket = Rensket(Emne, ".")
EmneRensket = Rensket(Emne, ",")
EmneRensket = Rensket(Emne, "\")
EmneRensket = Rensket(Emne, "/")
EmneRensket = Rensket(Emne, "*")
EmneRensket = Rensket(Emne, "[")
EmneRensket = Rensket(Emne, "]")
EmneRensket = Rensket(Emne, "?")
EmneRensket = Rensket(Emne, "!")
EmneRensket = Rensket(Emne, "'")
EmneRensket = Rensket(Emne, "")
EmneRensket = Rensket(Emne, "")
EmneRensket = Rensket(Emne, "|")

Function Rensket(text As String, illegal As String) As String
Dim Ch As String
For i = 1 To Len(illegal)
Ch = Mid(illegal, i, 1)
While InStr(text, Ch) 0
text = Left(text, InStr(text, Ch) - 1) & Right(text, Len(text)
- InStr(text, Ch))
Wend
Next
Rensket = text
End Function

Michael Bauer [MVP - Outlook] May 19th 08 06:46 PM

Strip illegal character from filename
 


e.g.:

Sub ReplaceChars(Text$)
Dim ar()
Dim i&
Dim ReplaceBy$
ReplaceBy = ""
ar = Array(";", ":", ",")
For i=0 To Ubound(ar)
Text = Replace(1, Text, ar(i), ReplaceBy, vbTextCompare)
Next
End Sub

--
Best regards
Michael Bauer - MVP Outlook

: Outlook Categories? Category Manager Is Your Tool:
: http://www.vboffice.net/product.html?pub=6&lang=en


Am Mon, 19 May 2008 01:10:23 -0700 (PDT) schrieb ExcelLars:

Is it possible to do this with less code?

EmneRensket = Rensket(Emne, ":")
EmneRensket = Rensket(Emne, ";")
EmneRensket = Rensket(Emne, ".")
EmneRensket = Rensket(Emne, ",")
EmneRensket = Rensket(Emne, "\")
EmneRensket = Rensket(Emne, "/")
EmneRensket = Rensket(Emne, "*")
EmneRensket = Rensket(Emne, "[")
EmneRensket = Rensket(Emne, "]")
EmneRensket = Rensket(Emne, "?")
EmneRensket = Rensket(Emne, "!")
EmneRensket = Rensket(Emne, "'")
EmneRensket = Rensket(Emne, "")
EmneRensket = Rensket(Emne, "")
EmneRensket = Rensket(Emne, "|")

Function Rensket(text As String, illegal As String) As String
Dim Ch As String
For i = 1 To Len(illegal)
Ch = Mid(illegal, i, 1)
While InStr(text, Ch) 0
text = Left(text, InStr(text, Ch) - 1) & Right(text, Len(text)
- InStr(text, Ch))
Wend
Next
Rensket = text
End Function


ExcelLars May 19th 08 11:35 PM

Strip illegal character from filename
 
looks very nice, but will not work for me.
.......
Dim ar()
Dim i&
Dim ReplaceBy$
ReplaceBy = "_"
ar = Array(";", ":", ",", "\", "/", "*", "[", "]", "?",
"!", "'", "", "", "|", "$")
For i = 0 To UBound(ar)
Emne = Replace(1, Emne, ar(i), ReplaceBy, vbTextCompare)
Next

filnavn = Mdato & " " & Avsendernavn & " " & Emne & ".MSG"
txtPath = TextBox1.Value

myOlSel.Item(x).SaveAs txtPath & filnavn, olMSG 'export
message

Michael Bauer [MVP - Outlook] May 20th 08 04:36 PM

Strip illegal character from filename
 


What doesn't work, do you get an error?

--
Best regards
Michael Bauer - MVP Outlook

: Outlook Categories? Category Manager Is Your Tool:
: http://www.vboffice.net/product.html?pub=6&lang=en


Am Mon, 19 May 2008 15:35:46 -0700 (PDT) schrieb ExcelLars:

looks very nice, but will not work for me.
......
Dim ar()
Dim i&
Dim ReplaceBy$
ReplaceBy = "_"
ar = Array(";", ":", ",", "\", "/", "*", "[", "]", "?",
"!", "'", "", "", "|", "$")
For i = 0 To UBound(ar)
Emne = Replace(1, Emne, ar(i), ReplaceBy, vbTextCompare)
Next

filnavn = Mdato & " " & Avsendernavn & " " & Emne & ".MSG"
txtPath = TextBox1.Value

myOlSel.Item(x).SaveAs txtPath & filnavn, olMSG 'export
message


ExcelLars May 20th 08 10:29 PM

Strip illegal character from filename
 
No error, but your code will not replace illegal text.

Michael Bauer [MVP - Outlook] May 21st 08 08:20 AM

Strip illegal character from filename
 


If errors are expected and you doesn't get one, you might turn off the On
Error Resume Next statement...

I wrote the function wrong, instead it's:

Text = Replace(Text, ar(i), ReplaceBy, , , vbTextCompare)

--
Best regards
Michael Bauer - MVP Outlook

: Outlook Categories? Category Manager Is Your Tool:
: http://www.vboffice.net/product.html?pub=6&lang=en


Am Tue, 20 May 2008 14:29:44 -0700 (PDT) schrieb ExcelLars:

No error, but your code will not replace illegal text.


ExcelLars May 21st 08 09:33 AM

Strip illegal character from filename
 
Great, now it works! Thanks!


All times are GMT +1. The time now is 02:28 PM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com