Condividi:        

" (virgolette) nel testo

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

" (virgolette) nel testo

Postdi cd7019 » 12/04/14 13:26

Ciao,
ho un problema nel salvataggio del formato TXT:
quando nella cella trova " (virgolette) mi sposta le colonne e inserisce altri " perchè riconosce " come inizio testo.
Come posso escludere questa possibilità e far riconoscere il carattere " semplicemente come un carattere?


Grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Sponsor
 

Re: " (virgolette) nel testo

Postdi Anthony47 » 12/04/14 15:14

Il formato txt e' di tipo "Testo delimitato da tabulazione"; se il contenuto di una cella contiene una virgola allora le virgolette saranno usate per racchiudere quel contenuto. Ergo le virgolette non sono equiparabili a un qualsiasi altro carattere. Questo formato, anche dopo le manipolazioni (aggiunta di ulteriori virgolette) viene comunque correttamente importato da altri programmi Microsoft.
Se vuoi un comportamento diverso devi scgliere un altro formato, ad esempio "prn"; oppure salvi con una macro, ad esempio la Sub salvatxt (vedi viewtopic.php?f=26&t=101711&p=588499#p588470)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19230
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: " (virgolette) nel testo

Postdi cd7019 » 13/04/14 19:58

Grazie,
quindi il formato .prn salva il testo con tutti i caratteri visualizzati.
Per favore, mi potresti di nuovo indicare il metodo per posizionare i vari testi delle colonne.
E' indispensabile convertire il formato testo in caratteri a larghezza fissa (Courier) ? Perchè ho caratteri times new roman e Symbol.
Non ho capito come posso impostare la larghezza della colonna in base al n° di caratteri (larghezza = 12 caratteri? oppure larghezza = xx pixel)
Come posso rinominare il file .prn in .txt?


Ciao
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: " (virgolette) nel testo

Postdi Anthony47 » 14/04/14 01:29

Perdona, ma non ho capito che risulato vuoi ottenere...
Puoi fare un esempio di testi che hai in colonna e di come vorresti riportarli nel file di output?
E con quale programma poi intendi leggere il file?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19230
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: " (virgolette) nel testo

Postdi cd7019 » 14/04/14 13:41

Allego il file generico.
Desidero capire come posso impostare la larghezza delle colonne in base al n° di caratteri,
tra una colonna e l'altra ci deve essere uno spazio,
se il n° di caratteri delle celle è maggiore della larghezza impostata il testo viene troncato.

Il file di salvataggio deve avere l'estensione txt (rinomina prn >> txt)
I programmi di lettura di questi file sono notepad, blocco note o excel. (i dati delle celle devono essere tutti incolonnati )

http://rapidshare.com/share/77ABBF1A5AF0F74D0E5D8EDBE5AEE250

Grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: " (virgolette) nel testo

Postdi Anthony47 » 15/04/14 00:58

Il link purtroppo non porta a nessu file scaricabile...
Comunque la larghezza da assegnare a una colonna affinche' visualizzi tutto il suo contenuto dipende dal font, dalla dimensione dei caratteri, dalle opzioni grafiche impostate in ogni cella. Se il font e' a spaziatura variabile, ovviamente lo spazio necessario per contenere dieci "i" e' inferiore di molto a quello necessario per dieci "m".
In Excel il comando "adatta larghezza colonna", che corrisponde al doppioclick sulla linea di separazione tra una intestazione di colonna e la successiva, fa i calcoli automaticamente per te. Se piu' colonne sono selezionate, il doppioclick ha effetto su tutte le colonne selezionate.
In vba l' "adatta larghezza colonna" corrisponde a Range(Intervallo).EntireColumn.AutoFit

Inoltre, se vuoi visualizzare con NotePad un listato perfettamente incolonnato, lo potrai fare solo con un font a spaziatura fissa; ne' mi risulta che potrai visualizzare caratteri Times new Roman e contemporaneamente Symbol.

Cio' detto, la cosa piu' generica che mi posso immaginare per avvicinarmi alla richiesta iniziale e' una variante alla macro Salvatxt, che invece di richiedere all' utente la larghezza con cui salvare una colonna la calcola sulla base del contenuto di colonna:
Codice: Seleziona tutto
Sub salvatxt2()
Dim myStringa As String, I As Long, J As Long, ListaCol, ListaLargh(), DestFile As String
'
DestFile = "C:\Users\UTENTE\PERCORSO\PIPPO_Cartel1.txt"  '<<1
ListaCol = Array(1, 2, 3, 4, 5)       '<< Le colonne da copiare
ReDim ListaLargh(LBound(ListaCol) To UBound(ListaCol))
For J = LBound(ListaCol, 1) To UBound(ListaCol, 1)
    ListaLargh(J) = Evaluate("=MAX(len(" & Columns(ListaCol(J)).Address & "))") + 1
Next J
'
FileNum = FreeFile()
Open DestFile For Output As #FileNum
For I = 1 To ActiveSheet.UsedRange.Rows.Count
    myStringa = ""
    For J = LBound(ListaCol, 1) To UBound(ListaCol, 1)
        myStringa = myStringa & Left(Cells(I, ListaCol(J)).Value & Space(ListaLargh(J)), ListaLargh(J))
    Next J
    Print #FileNum, myStringa
Next I
Close #FileNum
End Sub
Anche qui, le istruzioni marcate << sono da personalizzare; in particolare in ListaCol devi inserire il numero delle colonne che vuoi salvare.
Se il nome del file da generare non e' fisso useremo un' altra tecnica, per il salvataggio; dopo che hai confermato che il risultato ottenuto sarebbe ok.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19230
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: " (virgolette) nel testo

Postdi cd7019 » 16/04/14 13:07

Ciao,
ho provato a scaricare il link e mi funziona.
http://rapidshare.com/share/77ABBF1A5AF0F74D0E5D8EDBE5AEE250

Ho scoperto che il carattere "," (virgola) mi crea delle " (virgolette) nel file testo e quindi mi sfasa tutte le colonne.
Ci sono altri caratteri che non vengono considerati "testo"?
Ho provato a sostituire il carattere " (virgolette) con n°2 '' (apostrofo) e la virgola (,) il il punto (.).

Ci sono troppe modifiche da fare, quindi sono costretto a passare al salvataggio prn (come giustamente mi avevi già consigliato in passato).
La sequenza da seguire sarebbe:
1) devo convertire il formato caratteri in Courier
2) impostare la larghezza delle colonne in base al n° di caratteri. Però non ho capito come legare la larghezza delle colonne in base al n° di caratteri x colonna.
3) salvare il file .prn
4) rinominare il file .prn in .txt.

Grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: " (virgolette) nel testo

Postdi Anthony47 » 16/04/14 14:45

Ma hai provato la Sub salvatxt2?
Avatar utente
Anthony47
Moderatore
 
Post: 19230
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: " (virgolette) nel testo

Postdi cd7019 » 16/04/14 14:57

MI produce un errore di runtime 13: tipo con corrispondente alla riga:
ListaLargh(J) = Evaluate("=MAX(len(" & Columns(ListaCol(J)).Address & "))") + 1

ciao
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: " (virgolette) nel testo

Postdi Anthony47 » 16/04/14 17:24

E' vero... su XL2003 non si puo' usare un' intera colonna in una formula array.

Sostituisci quella riga con
Codice: Seleziona tutto
        ListaLargh(J) = Evaluate("=MAX(len(" & _
          Application.Intersect(ActiveSheet.UsedRange, Columns(ListaCol(J))).Address & "))") + 1

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19230
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: " (virgolette) nel testo

Postdi cd7019 » 16/04/14 19:57

Grazie

Funziona perfettamente.

Ciao
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: " (virgolette) nel testo

Postdi cd7019 » 19/04/14 17:23

Ho ancora un problemino,
MI genera perfettamente il file testo in colonne.
La prima colonna rappresenta il n°di elementi presenti e desidero che vengano ordinati in modo crescente.
E' possibile ordinare le righe in un file testo?
Non riesco ad ordinare il file sorgente perchè i dati, nelle righe, non sono consecutivi.

file TXT attuale:
Codice: Seleziona tutto
3    aaaa  bbbbb   cccccccc
12   ffff  ggggggg hhhh
7    ii    lll     mmm
4    nnnn  mmmmm   rrr


file TXT desiderato:
Codice: Seleziona tutto
3    aaaa  bbbbb   cccccccc
4    nnnn  mmmmm   rrr
7    ii    lll     mmm
12   ffff  ggggggg hhhh


Grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: " (virgolette) nel testo

Postdi Anthony47 » 23/04/14 00:49

Ordinare un file di testo non e' complesso, ma la cosa piu' semplice e' che importi il file txt in un foglio Excel, lo ordini, lo rigeneri come txt.
Tutto questo lo fai con una macro autoregistrata (Menu /Strumenti /Macro /Registra nuova macro).

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19230
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: " (virgolette) nel testo

Postdi cd7019 » 23/04/14 19:55

Ho seguito il tuo consiglio e funziona.

Grazie.
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38


Torna a Applicazioni Office Windows


Topic correlati a "" (virgolette) nel testo":


Chi c’è in linea

Visitano il forum: Nessuno e 54 ospiti