Eu escrevi uma Macro VBA e a lógica é:
- Se houver qualquer
double quote
na célula de dados, duplique as aspas duplas. - Se houver qualquer
comman
oudouble quote
presente na célula de dados, coloque os dados inteiros entre aspas duplas.
Exemplo:
- Etapa 1:
NL 我喜" mutilple"我喜
se tornaráNL 我喜"" mutilple""我喜
- Etapa 2: após a etapa 2, os dados se tornarão
"NL 我喜"" mutilple""我喜"
Este código corresponde à descrição acima
tempString = Sheets(1).Cells(lRow, lCol).Text ' Get the data from cell.
tempString = Replace(tempString, Chr(34), Chr(34) & Chr(34)) ' If there is double quote, then duplicate it.
CurrTextStr = tempString
pos1 = InStr(tempString, Chr(34)) ' Get the position of double quote. If not present, it will be 0.
pos2 = InStr(tempString, ";") ' Get the position of semicolon. If not present, it will be 0.
If (pos1 <> 0 Or pos2 <> 0) Then ' If there is any double quote or semicolon, then the whole data
CurrTextStr = Chr(34) & tempString & Chr(34) ' should be enclosed with double quotes.
End If
oAdoS.WriteText (";" & CurrTextStr)