[AccessD] //s Slashes in File Name

Gustav Brock Gustav at cactus.dk
Sat Jun 17 03:49:12 CDT 2006


Hi Bob

Stuart is right. However, / isn't the only forbidden character.
We use this function to clean user typed file names by replacing such chars with a dash:

Function TrimFileName( _
  ByVal strFileName As String) _
  As String

' Replaces characters in strFileName that are
' not allowed by Windows as a file name.
' Truncates length of strFileName to clngFileNameLen.
'
' 2000-12-07. Cactus Data ApS, CPH.
' 2002-05-22. Replaced string concatenating with Mid().

  ' No special error handling.
  On Error Resume Next

  ' String containing all not allowed characters.
  Const cstrInValidChars  As String = "\/:*?""<>|"
  ' Replace character for not allowed characters.
  Const cstrReplaceChar   As String * 1 = "-"
  ' Maximum length of a file name.
  Const clngFileNameLen  As Long = 255
  
  Dim lngLen    As Long
  Dim lngPos    As Long
  Dim strChar   As String
  Dim strTrim   As String
  
  ' Strip leading and trailing spaces.
  strTrim = Left(Trim(strFileName), clngFileNameLen)
  lngLen = Len(strTrim)
  For lngPos = 1 To lngLen Step 1
    strChar = Mid(strTrim, lngPos, 1)
    If InStr(cstrInValidChars, strChar) > 0 Then
      Mid(strTrim, lngPos) = cstrReplaceChar
    End If
  Next
    
  TrimFileName = strTrim

End Function

/gustav

>>> bheygood at abestsystems.com 17-06-2006 01:00 >>>
Hello to the list,
I am having a failure when running the line of code below:
appExcel.ActiveWorkbook.SaveAs FileName:=strNewFileName

This works well until I assign a value with a / to the variable -
strNewFileName

When I remove the / all is well.

What's the best solution if my client insists on keeping the /s in the
resulting file name?

TIA

Bob Heygood




More information about the AccessD mailing list