GERAR ARQUIVO TXT COM ACENTO

WILHAMPS 22/06/2010 21:49:58
#345553
Boa noite pessoal.

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á
MARCELO.TREZE 23/06/2010 07:58:58
#345561
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

WILHAMPS 25/06/2010 11:05:18
#345779
Citação:

:
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



EU QUERO COLOCAR O ACENTO DENTRO DO ARQUIVO, DO JEITO QUE ESTA AI ESTA REMOVENDO OS ACENTOS ESTOU CORRETO?
MARCOSLING 25/06/2010 11:57:23
#345781
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