Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

salvare file in txt con separatore "|"

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

salvare file in txt con separatore "|"

Postdi mirmidone21 » 15/03/16 10:13

buongiorno a tutti
come da oggetto, ho il problema di come salvare un file excel in formato txt, ma con separatore "|"
ho già provato a salvarlo in formato txt, ma excel non mi da la possibilità di definire il tipo di separatore.
devo usare qulache formula specifica?
grazie
vi allego un file di esempio
https://drive.google.com/file/d/0B2rmVFc8x3cUU0k4WldvV2x0enc/view?usp=sharing
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 124
Iscritto il: 26/10/15 16:48

Sponsor
 

Re: salvare file in txt con separatore "|"

Postdi alfrimpa » 15/03/16 12:01

Ciao Mirmidone

Potresti provare facendo così:

1) Da Windows apri il pannello di controllo
2) Seleziona Paese e lingua
3) Scegli la scheda Formati
4) Clicca su Impostazioni aggiuntive
5) Scegli Separatore elenco
6) Sostituisci quello che c'è con "|"
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: salvare file in txt con separatore "|"

Postdi mirmidone21 » 15/03/16 12:49

facendo così, pero dopo la modifica si ripercuote su tutto il sistema e non sul singolo file.
stavo pensando di risolvere con notepad tramite un "sostituisci tutto", e sarebbe anche più semplice, ma cimentarsi con excel è un modo per imparare.
NB: non capisco perchè excel non dia la possibilità di scegliere il separatore, mi sembra assurdo.
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 124
Iscritto il: 26/10/15 16:48

Re: salvare file in txt con separatore "|"

Postdi Anthony47 » 15/03/16 22:35

Excel di suo gestisce un tot di formati dati; per altri formati fornisce formule per compilare una stringa a piacere e un linguaggio di programmazione per fare altrettanto in modo programmatico.
Cio' detto, una macro come questa consente di scrivere campi usando un separatore a piacere:
Codice: Seleziona tutto
Sub Piped()
'Vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=106577
Dim myCols As Range, myRan As Range, I As Long, J As Long, SeP As String
Dim myFile As Long, myRow As String
'
Set myCols = Range("A1:F1")     '<<< Le colonne da "stampare", in questo formato
SeP = " | "                     '<<< Il separatore da usare
'
Set myRan = Application.Intersect(ActiveSheet.UsedRange, myCols.Resize(Rows.Count))
myFile = FreeFile
Open "C:\prova\mioFile.txt" For Output As #myFile   '<<< Path e NomeFile
'
For I = 1 To myRan.Rows.Count
    myRow = ""
    For J = 1 To myRan.Columns.Count
        Select Case J
            Case 1      'VEDI TESTO
                myRow = myRow & Format(Cells(I, J).Value, "hh:mm:ss") & SeP
            'altri Case secondo il bisogno
            '
            Case Else
                myRow = myRow & Cells(I, J).Value & SeP
        End Select
    Next J
    Print #myFile, Left(myRow, Len(myRow) - Len(SeP))
Next I
Close #myFile
End Sub

Le righe marcate <<< vanno adattate al tuo caso.
C'e' da ricordare che alcuni campi excel potrebbero essere scritti in modo "criptico" nel file di output; ad esempio gli orari saranno riportati come numero decimale.
Per gestire a piacere il formato di questi campi ho abbozzato una struttura Select Case J /End Select. Poiche' J rappresenta il numero di colonna, e' possibile trattare in modi diversi le varie colonne; ad esempio con " Case 1" ho simulato che in colonna A ci sia un orario che quindi vado a formattare come hh:mm:ss prima di scrivere quel valore nel file. Userai altri Case n per formattare in modo appropriato le colonne del tuo foglio.

Quanto alle "colonne da stampare", quanto definito puo' servire a limitare "l'area di stampa"; se vuoi stampare tutte le colonne compilate allora imposta un intervallo abbastanza largo, ad esempio "A1:IV1" (256 colonne).

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13895
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: salvare file in txt con separatore "|"

Postdi mirmidone21 » 16/03/16 10:30

grazie esauriente come sempre
Windows 7 sp1 -- Office 2013
Intel i5 4430 -- 3.00 ghz ---- 4gb RAM
mirmidone21
Utente Senior
 
Post: 124
Iscritto il: 26/10/15 16:48


Torna a Applicazioni Office Windows


Topic correlati a "salvare file in txt con separatore "|"":


Chi c’è in linea

Visitano il forum: alfrimpa e 17 ospiti