GERAR ARQUIVO TXT COM ACENTO
Boa noite pessoal.
Toda vez que vou gerar um arquivo txt se tem algum acento sai tudo zuado.
achei essa string
Mais emite ainda pior, ela emite o quadrado
mais a letra mais o acento fica pior ainda.
alguem ja pasou por isso?
Sabe como resolver?
grato desde já
Toda vez que vou gerar um arquivo txt se tem algum acento sai tudo zuado.
achei essa string
Private Function Acentua(ByVal Lin As String) As String
Dim T1 As String, T2 As String, Ac As String, i As Integer, p As Integer, c As String
T1$ = [Ô]ÀÈà èÃéÃÓÚáéÃóúÇçÂÊÔâêôÃÑÕãñõÜü[Ô] [ô]tela
T2$ = [Ô]AEaeAEIOUaeiouCcAEOaeoANOanoUu[Ô] [ô]impressora
Ac$ = [Ô]'''''[ô][ô][ô][ô][ô][ô][ô][ô][ô],,^^^^^^~~~~~~[Ô] + Chr$(34) + Chr$(34) [ô]nosso acento
p = 1
For i = 1 To Len(Lin$) [ô]cada letra
c$ = Mid$(Lin$, i, 1) [ô]pega o char
p = InStr(T1$, c$) [ô]tem acento correpondente?
If p Then [ô]tem...
[ô]troca usando backspace: letra + bs + acento
Lin$ = Left$(Lin$, i - 1) + _
Mid$(T2$, p, 1) + _
Chr$(vbKeyBack) + _
Mid$(Ac$, p, 1) + _
Mid$(Lin$, i + 1) [ô]troca
i = i + 2 [ô]incrementa ponteiro na string
End If
Next
Acentua$ = Lin$ [ô]retorna a linha acentuada na marra...
End Function
Mais emite ainda pior, ela emite o quadrado
mais a letra mais o acento fica pior ainda.
alguem ja pasou por isso?
Sabe como resolver?
grato desde já
tente seu código com a mudança abaixo
Private Function Acentua(ByVal Lin As String) As String
Dim T1 As String, T2 As String, Ac As String, i As Integer, p As Integer, c As String
T1$ = [Ô]ÀÈà èÃéÃÓÚáéÃóúÇçÂÊÔâêôÃÑÕãñõÜü[Ô] [ô]tela
T2$ = [Ô]AEaeAEIOUaeiouCcAEOaeoANOanoUu[Ô] [ô]impressora
For i = 1 To Len(Lin$) [ô]cada letra
c$ = Mid$(Lin$, i, 1) [ô]pega o char
p = InStr(T1$, c$) [ô]tem acento correpondente?
If p Then [ô]tem...
[ô]troca usando backspace: letra + bs + acento
Lin$ = Left$(Lin$, i - 1) + _
Mid$(T2$, p, 1) + _
Mid$(Lin$, i + 1) [ô]troca
End If
Next
Acentua$ = Lin$ [ô]retorna a linha acentuada na marra...
End Function
Citação::
tente seu código com a mudança abaixoPrivate Function Acentua(ByVal Lin As String) As String
Dim T1 As String, T2 As String, Ac As String, i As Integer, p As Integer, c As String
T1$ = [Ô]ÀÈà èÃéÃÓÚáéÃóúÇçÂÊÔâêôÃÑÕãñõÜü[Ô] [ô]tela
T2$ = [Ô]AEaeAEIOUaeiouCcAEOaeoANOanoUu[Ô] [ô]impressora
For i = 1 To Len(Lin$) [ô]cada letra
c$ = Mid$(Lin$, i, 1) [ô]pega o char
p = InStr(T1$, c$) [ô]tem acento correpondente?
If p Then [ô]tem...
[ô]troca usando backspace: letra + bs + acento
Lin$ = Left$(Lin$, i - 1) + _
Mid$(T2$, p, 1) + _
Mid$(Lin$, i + 1) [ô]troca
End If
Next
Acentua$ = Lin$ [ô]retorna a linha acentuada na marra...
End Function
EU QUERO COLOCAR O ACENTO DENTRO DO ARQUIVO, DO JEITO QUE ESTA AI ESTA REMOVENDO OS ACENTOS ESTOU CORRETO?
Acho que isso tem a ver com o tipo de codificação do arquivo (ANSI, UTF8, etc)
Tópico encerrado , respostas não são mais permitidas