SUBSTITUIR AS ASPAS POR ESPACO DE UMA LISTA

MARINA33 04/04/2013 14:29:41
#421519
Oi, boa tarde
sou iniciante no visual basic 6.0 e estou com a seguinte duvida

através de uma query é gerada uma lista, com varias colunas e linhas
e desta lista eu exporto para CSV exel e txt
mas na geração do arquivo csv , preciso tirar os caracteres aspas dupla, ponto e virgula do meio dos nomes e dos endereços. e substituir por espaço. Fiz o código a seguir: mas não funcionou. alguém pode me dar uma auxilio?
segue o fonte abaixo:

Private Sub CmdCSV_Click()

Dim TempSpread As vaSpread

On Error GoTo TrataErro
CommonDialog1.Flags = cdlOFNOverwritePrompt Or cdlOFNPathMustExist Or _
cdlOFNLongNames Or cdlOFNHideReadOnly
CommonDialog1.CancelError = True
CommonDialog1.Filter = [Ô]FileName (*.csv)|*.csv|Todos Arquvos (*.*)|*.*[Ô]
CommonDialog1.ShowSave
spr_lista.Col = 0
spr_lista.Col2 = spr_lista.MaxCols
spr_lista.Row = 0
spr_lista.Row2 = spr_lista.MaxRows
spr_lista.RowHeaderDisplay = SS_HEADER_LETTERS

Dim i, j As Integer
Dim strLinha As String
Dim valor As String


Open CommonDialog1.FileName For Append As #1
For i = 1 To spr_lista.MaxRows
strLinha = [Ô];[Ô]
For j = 1 To spr_lista.MaxCols
spr_lista.Row = i
spr_lista.Col = j

strLinha = strLinha & spr_lista.Text & [Ô];[Ô]


Select Case Mid(strString, i, j) (AQUI A PARTE QUE NÃO FUNCIONA)
Case [Ô][Ô], [Ô]:[Ô], [Ô]À[Ô]
strString = Replace(strString, Mid(strString, i, j), [Ô]sapce[Ô])

End Select


Print #1, strLinha


Next

Close #1



MsgBox [Ô]Arquivo gerado com sucesso[Ô]




Exit Sub

TrataErro:
Exit Sub
Resume 0
[ô]Fim das alterações[ô]
Next
End Sub
Obrigada,
Marina
MARCELO.TREZE 04/04/2013 22:00:26
#421538
Resposta escolhida
tentou

 strString = Replace(strString, Mid(strString, i, j), [Ô] [Ô])


ou seja apenas colocar um espaço entre os parenteses, ou melhor ainda

troque

Select Case Mid(strString, i, j) (AQUI A PARTE QUE NÃO FUNCIONA)
Case [Ô][Ô], [Ô]:[Ô], [Ô]À[Ô]
strString = Replace(strString, Mid(strString, i, j), [Ô]sapce[Ô])

End Select

por

 strString = Replace(strString,[Ô][Ô][Ô][Ô], [Ô] [Ô])[txt-color=#007100] [ô] troca aspas por espaço[/txt-color]
strString = Replace(strString, [Ô]:[Ô], [Ô] [Ô]) [txt-color=#007100][ô] troca dois pontos por espaço[/txt-color]
strString = Replace(strString, [Ô]À[Ô], [Ô] [Ô])[txt-color=#007100] [ô] troca o acento por espaço[/txt-color]


e é isso


MARINA33 05/04/2013 14:50:44
#421568
Oi, Marcelo tudo bem?

Obrigada por responder, mas não deu certo. eu preciso tirar as apas e os dois pontos do arquivo csv,
mas eu tenho 10 colunas e 16.503 linhas, onde as colunas é nome, endereço, bairro etc.. mas não sei quais estão trazendo os dois pontos e as apas dupla. preciso substituir por espaço onde tiver . Seja qualquer coluna ou qualquer linha da lista

fiz assim do jeito que vc me passou, mas não deu certo. Veja:
Dim TempSpread As vaSpread

On Error GoTo TrataErro
CommonDialog1.Flags = cdlOFNOverwritePrompt Or cdlOFNPathMustExist Or _
cdlOFNLongNames Or cdlOFNHideReadOnly
CommonDialog1.CancelError = True
CommonDialog1.Filter = [Ô]FileName (*.csv)|*.csv|Todos Arquvos (*.*)|*.*[Ô]
CommonDialog1.ShowSave
spr_lista.Col = 0
spr_lista.Col2 = spr_lista.MaxCols
spr_lista.Row = 0
spr_lista.Row2 = spr_lista.MaxRows
spr_lista.RowHeaderDisplay = SS_HEADER_LETTERS

Dim i, j As Integer
Dim strLinha As String

Open CommonDialog1.FileName For Append As #1
For i = 1 To spr_lista.MaxRows
strLinha = [Ô];[Ô]


For j = 1 To spr_lista.MaxCols
spr_lista.Row = i
spr_lista.Col = j

strLinha = strLinha & spr_lista.Text & [Ô];[Ô]
strString = Replace(Replace(strString, [Ô][Ô][Ô][Ô], [Ô] [Ô]), [Ô]:[Ô], [Ô] [Ô]) AQUI FOI O QUE FOI FEITO


MARCELO.TREZE 05/04/2013 19:33:24
#421586
apresenta algum erro ou simplesmente não faz nada?
MARINA33 05/04/2013 21:40:30
#421592
Oi, Marcelo, então, simplesmente não faz nada

Tópico encerrado , respostas não são mais permitidas