[VBA] eliminare caratteri ASCII da ListBox

  • Creatore Discussione Creatore Discussione Al_adin
  • Data di inizio Data di inizio

Al_adin

Nuovo Utente
13 Feb 2012
5
0
0
Help Me please !

Premetto che sono un pivello della progarammazione.

Con il VBA ho realizzato una macro in WORD. Ho usato un form su cui ho disposto diversi controlli.
In particolare ho inserito una ListBox che carica automaticamente le righe di un file non appena si seleziona un OptionButton. Per aprire il file e leggere le righe ho usato questo codice:

Private Sub OB1CL2_Click()
Dim Righe As String
Dim i As Integer ' indice
Open "C:\1partec.txt" For Input As #1
Do ' ciclo do loop
i = i + 1
Input #1, Righe
ListBox1.AddItem Righe
Loop Until EOF(1) = True
Close #1
End Sub

Tuttavia nella 1 riga della ListBox mi compaiono dei caratteri che non sono presenti nel file di testo.
La riga originale nel file di testo è:
L’antenna non capta il segnale
quando la ListBox carica le righe del file automaticamente vengono aggiunti altri caratteri e la stringa risultante si presenta così:

ÿþL|antenna non capta il segnale

i primi due sono i caratteri ASCII 222 e 255 poi c’è la L e al posto dell’apostrofo compare il carattere ascii 195, che qui ho rappresentato in modo diverso, il resto corrisponde. Per eliminare i quattro caratteri in più ho modificato l’istruzione

ListBox1.AddItem Righe

Con

ListBox1.AddItem Mid$(Righe, 4)

Ma questa mi taglia le prime quattro lettere di tutte le righe della ListBox.
Cosa devo fare per fare in modo che solo la prima riga della ListBox venga modificata da cosi

ÿþL|antico borgo

a così

L’antico borgo

Grazie.
 
Ciao,

i caratteri dipendono dalla codifica Unicode/UTF-8.

Per eliminarli prova ad aprire il file con un editor di testo e salvarlo in formato ansi.
 

Discussioni simili