NAO CONSIGO ALTERAR FUNCAO DE TEXTO
pessoal tenho funçao de texto que peguei aqui no VBMania porem essa função remover todos os caracter especÃficos de uma string porem eu queria que remove-se apenas os entre os 20 primeiros caracter alguém sabe como alterar éla?
Public Const UM = 1
Public Function TiraAcentos(Texto As String)
On Error GoTo Trata_erro
[ô]necessito lcase (texto)
Dim I As Integer, J As Integer [ô]contadores pra percorer a matriz
Dim V(21, 1) As String * 1 [ô]matriz de acentos e suas respectivas equivalentes
Dim a(10) As String [ô]vetor de caracteres invalidos
Dim TEMP As String, TMP As String [ô]vars temp que guardam os valores
Dim k As Integer [ô]contador pra percorrer a tmp
Dim TAM As Integer [ô]tamanho do texto
Dim TMPFINAL As String [ô]texto montagem, volta do procedimento
Dim CONT As Integer [ô]contador do vetor A
TEMP = Texto
TAM = Len(TEMP)
TMPFINAL = vbNullString
V(0, 0) = [Ô]ö[Ô]
V(0, 1) = [Ô]ö[Ô]
V(1, 0) = [Ô]ö[Ô]
V(1, 1) = [Ô]ö[Ô]
V(2, 0) = [Ô]ö[Ô]
V(2, 1) = [Ô]ö[Ô]
V(3, 0) = [Ô]ö[Ô]
V(3, 1) = [Ô]ö[Ô]
V(4, 0) = [Ô]ö[Ô]
V(4, 1) = [Ô]ö[Ô]
V(5, 0) = [Ô]ö[Ô]
V(5, 1) = [Ô]ö[Ô]
V(6, 0) = [Ô]ö[Ô]
V(6, 1) = [Ô]ö[Ô]
V(7, 0) = [Ô]ö[Ô]
V(7, 1) = [Ô]ö[Ô]
V(8, 0) = [Ô]ö[Ô]
V(8, 1) = [Ô]ö[Ô]
V(9, 0) = [Ô]ö[Ô]
V(9, 1) = [Ô]ö[Ô]
V(10, 0) = [Ô]ö[Ô]
V(10, 1) = [Ô]ö[Ô]
V(11, 0) = [Ô]ö[Ô]
V(11, 1) = [Ô]ö[Ô]
V(12, 0) = [Ô]ö[Ô]
V(12, 1) = [Ô]ö[Ô]
V(13, 0) = [Ô]ö[Ô]
V(13, 1) = [Ô]ö[Ô]
V(14, 0) = [Ô]ö[Ô]
V(14, 1) = [Ô]ö[Ô]
V(15, 0) = [Ô]ö[Ô]
V(15, 1) = [Ô]ö[Ô]
V(16, 0) = [Ô]ö[Ô]
V(16, 1) = [Ô]ö[Ô]
V(17, 0) = [Ô]ö[Ô]
V(17, 1) = [Ô]ö[Ô]
V(18, 0) = [Ô]ö[Ô]
V(18, 1) = [Ô]ö[Ô]
V(19, 0) = [Ô]ö[Ô]
V(19, 1) = [Ô]ö[Ô]
V(20, 0) = [Ô]ö[Ô]
V(20, 1) = [Ô]ö[Ô]
V(21, 0) = [Ô]ö[Ô]
V(21, 1) = [Ô]ö[Ô]
a(0) = [Ô]0[Ô]
a(1) = [Ô]1[Ô]
a(2) = [Ô]2[Ô]
a(3) = [Ô]3[Ô]
a(4) = [Ô]4[Ô]
a(5) = [Ô]5[Ô]
a(6) = [Ô]6[Ô]
a(7) = [Ô]7[Ô]
a(8) = [Ô]8[Ô]
a(9) = [Ô]9[Ô]
a(10) = [Ô].[Ô]
For I = 0 To (TAM - UM)
TMP = Mid(Left(TEMP, I + UM), I + UM, TAM)
For J = 0 To 21
For k = 0 To UM
If TMP = V(J, k) Then
TMP = V(J, UM)
End If
If TMP = [Ô]ç[Ô] Then [ô]============================================
TMP = [Ô]c[Ô] [ô] Implementação de Stop Words caso ç --> c =
End If
For CONT = 0 To 10
If TMP = a(CONT) Then
TMP = [Ô][Ô]
End If
Next
Next
Next
TMPFINAL = TMPFINAL & TMP
Next
TiraAcentos = TMPFINAL
Exit Function
Trata_erro:
MsgBox [Ô]Erro n° [Ô] & Err.Number & vbCrLf & [Ô]Erro:[Ô] & Err.Description
Err.Clear
Resume Next
End Function
ué tentou mudar esta linha
de:
TAM = Len(TEMP)
para:
TAM = 20
de:
TAM = Len(TEMP)
para:
TAM = 20
sim mudei ai ele remover vinte caracter da direita para esquerda. ou seja remove sem valida remove todos os tipos.
sendo de que eu quero que ele remova da esquerda para direita com apenas especÃficos na função que é os numeros mais pontinho
sendo de que eu quero que ele remova da esquerda para direita com apenas especÃficos na função que é os numeros mais pontinho
Vamos propor um pequeno [Ô]CAMBALACHO[Ô]:
Wcaracteres = 20
Wfrasetoda = <A SUA STRING>
if len(Wfrasetoda) < Wcaracteres then
Wfrasetoda = Wfrasetoda & space(Wcaracteres)
endif
Wfrase1 = left(Wfrasetoda,Wcaracteres)
Wfrase2 = right (Wfrasetoda,len(Wfrasetoda)-Wcaracteres)
Wacentos = [Ô]ÃÀÂÃÄéÈÊËÃÌÎÃÓÒÔÕÖÚÙÛÜÇ[Ô]
Wletras = [Ô]AAAAAEEEEIIIIOOOOOUUUUC[Ô]
for Wx = 1 to len(Wacentos)
Wfrase1 = replace(Wfrase1,mid(ucase(Wacentos),Wx,1),mid(ucase(Wletras),Wx,1)) [ô]TROCA AS MAIÚSCULAS
Wfrase1 = replace(Wfrase1,mid(lcase(Wacentos),Wx,1),mid(lcase(Wletras),Wx,1)) [ô]TROCA AS MINÚSCULAS
next Wx
Wfrasefinal = Wfrase1 & Wfrase2
valeu mesmo MARCELO-TREZE e EDERMIR
o exemplo do EDERMIR funcionou perfeitamente porem acho um jeito melhor aqui.
mas valeu mesmo
o exemplo do EDERMIR funcionou perfeitamente porem acho um jeito melhor aqui.
mas valeu mesmo
Tópico encerrado , respostas não são mais permitidas