quarta-feira, 8 de fevereiro de 2012

Tratar Nome de Arquivo

Caros colegas, este um código muito usado quando temos que tratar o nome de um determinado arquivo antes de salva-lo:


Function trata_nome(NOME As String) As String

Dim Data As String
Dim TotalCampo As Double
Dim CampoAtu As Double
Dim ProvAtu As String
Dim y As String

TotalCampo = Len(NOME) 'verifica a qtde de caracteres de um campo
CampoAtu = 1

Do While Not TotalCampo = CampoAtu
  
   ProvAtu = Trim(Mid(NOME, CampoAtu, 1))
  
   If ProvAtu = "/" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "_" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "Ç" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "C" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "ç" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "C" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "Ã" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "A" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "ã" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "a" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "Õ" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "O" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "õ" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "o" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "É" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "E" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "È" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "E" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "é" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "e" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "è" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "e" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "À" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "A" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
  
   ElseIf ProvAtu = "Á" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "A" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "á" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "a" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "à" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "a" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "Ó" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "O" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "Ò" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "O" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "ó" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "o" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   ElseIf ProvAtu = "ò" Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & "o" & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   
   ElseIf ProvAtu = "." Then
  
   NOME = Trim(Mid(NOME, 1, CampoAtu - 1)) & Trim(Mid(NOME, CampoAtu + 1, TotalCampo))
  
   
  
   End If
  
   CampoAtu = CampoAtu + 1
 
Loop

 trata_nome = NOME
End Function

Nenhum comentário: