Newsgroup: it.comp.lang.visual-basic
Titolo: Spaziatura frase.

Supponiamo di acquisire una variabile da una cella di excel ( & citta)
per esempio la frase Frosinone
e di scriverla nel comando print:
Print  #testo , & citta
esportando la frase in un file txt avremo la frase
Frosinone.
Ho  la necessità di avere tale frase in un file txt con uno spazio dopo ogni
carattere:
F r o s i n o n e
Come posso fare?
Grazie a tutti.
Roberto

Ciao hal grazie per la risposta.
Io vorrei che tale soluzione venisse apportata in questo contesto di
sorgente:
Dim ObjExcel As Excel.Application
Dim I As Long
Private Sub Command1_Click()
Set ObjExcel = New Excel.Application
ObjExcel.Visible = False
ObjExcel.SheetsInNewWorkbook = 1
ObjExcel.Workbooks.Open "C:\cartel1.XLS"
I = 1
Do
I = I + 1
ListView1.ListItems.Add 1, , ObjExcel.Cells(I, 2).Value
ListView1.ListItems(1).SubItems(1) = ObjExcel.Cells(I, 2).Value
ListView1.ListItems(1).SubItems(2) = ObjExcel.Cells(I, 3).Value
ListView1.ListItems(1).SubItems(3) = ObjExcel.Cells(I, 4).Value
ListView1.ListItems(1).SubItems(4) = ObjExcel.Cells(I, 5).Value
ListView1.ListItems(1).SubItems(5) = ObjExcel.Cells(I, 6).Value
ListView1.ListItems(1).SubItems(6) = ObjExcel.Cells(I, 7).Value
ListView1.ListItems(1).SubItems(7) = ObjExcel.Cells(I, 8).Value
Loop While ObjExcel.Cells(I + 1, 2) <> 0
End Sub
Private Sub Command2_Click()
nuovofile = FreeFile
Open ("C:\prova.txt") For Append As nuovofile
For n = 2 To I
CODICE_UTENTE = ObjExcel.Cells(n, 1).Value
COGNOME_NOME = ObjExcel.Cells(n, 2).Value
INDIRIZZO = ObjExcel.Cells(n, 3).Value
CAP = ObjExcel.Cells(n, 4).Value
CITTA = ObjExcel.Cells(n, 5).Value
PROV = ObjExcel.Cells(n, 6).Value
CODICE_FISCALE = ObjExcel.Cells(n, 7).Value
Print #nuovofile, & COGNOME_NOME
Print #nuovofile, INDIRIZZO
Print #nuovofile, CAP; "  " & CITTA; "  " & PROV          '
Print #nuovofile,
Print #nuovofile, "!NEW 2;SPA 6;INL 19"
next n
..................................etc
In pratica nel nuovo file .txt una variabile per es.:(& citta) che sul
foglio excel è Frosinone dovrebbe diventare F R O S  I  N O  N E  nel
risultato finale.
Cosa ne pensi?
Grazie ancora
Roberto

 ha scritto nel messaggio
news:98r4v4$478$1...@pegasus.tiscalinet.it...

Guarda questo esempio e adattalo:
Private Sub Command1_Click()
    Dim lngCOntatore As Long
    For lngCOntatore = 1 To Len(Text1.Text)
        Text2 = Text2 & Mid(Text1.Text, lngCOntatore, 1) & " "
    Next lngCOntatore
End Sub
Ciao VB


Non so se ho capito, ma prova questa:
Public Function Spaziatura(ByVal src As String) As String
    Dim buffer As String
    Dim i As Long
    Dim lungh As Long
    Dim p As Long
 
    lungh = Len(src) * 2
    buffer = Space$(lungh)
 
    p = 0
    For i = 1 To lungh Step 2
        p = p + 1
        Mid(buffer, i, 1) = Mid$(src, p, 1)
    Next i
    Spaziatura = buffer
End Function
ciao, hal

 risultato finale.
Usa la funzione di Hal nel seguente modo:
Print #nuovofile, & Spaziatura(COGNOME_NOME)
Print #nuovofile, Spaziatura(INDIRIZZO)
etc.
Ciao VB

Print #nuovofile, Spaziatura(INDIRIZZO)
wow, grazie per la collaborazione :)
per completezza, aggiungiamo che, se l'output va in tutto maiuscolo, come nel caso di F R O S I N O N E,
la chiamata diventa:
Print #nuovofile, Spaziatura(UCase$(INDIRIZZO))
ciao, hal


Ciao VB