Condividi:        

[excel] salvare txt con codice xhtml valido

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

[excel] salvare txt con codice xhtml valido

Postdi cola967 » 15/01/09 13:51

Ciao a tutti ma soprattutto ad Anthony47, vero e proprio guru di excel, che spero sappia aiutarmi.
Ho creato un file di excel [news.xlsm] che estrapola alcuni valori da altri file .xlsx e genera su un foglio specifico una serie di righe di codice [esempio: <table><tr><td>miotesto</td></tr></table>] che manualmente copio/incollo su di un file .html e spedisco sul server per l'aggiornamento di un portale.
La mia richiesta è questa: vorrei salvare il range di celle su cui appare il codice di esempio [esempio: <table><tr><td>miotesto</td></tr></table>] in un file di testo con estensione .html, con l'aiuto di una macro ad hoc, in maniera che non sia costretto ogni giorno a fare copia/incolla 1000 volte.

grazie per l'aiuto
cola967
Newbie
 
Post: 9
Iscritto il: 15/01/09 12:57

Sponsor
 

Re: [excel] salvare txt con codice xhtml valido

Postdi cola967 » 15/01/09 22:40

chi fa da se fa per tre...
e chiedo scusa se non mi ero letto bene tutti i post precedenti
ma veniamo al dunque: la macro

Sub Esporta_TXT()
ActiveWorkbook.Save
Application.DisplayAlerts = False
Range("L2:L32").Select
Selection.Copy
Sheets.Add
Sheets(1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWorkbook.SaveAs Filename:="c:\prova.txt", FileFormat:=xlText, CreateBackup:=False
Sheets(1).Delete
End Sub

non funziona con excel 2007. Qualcuno ha qualche idea?
grazie
cola967
Newbie
 
Post: 9
Iscritto il: 15/01/09 12:57

Re: [excel] salvare txt con codice xhtml valido

Postdi Anthony47 » 15/01/09 23:02

Ciao cola967 e benvenuto nel forum
chi fa da se fa per tre...
Io opto per un altrettanto valido "la necessita' aguzza l' ingegno".

Comunque bravo per aver anche postato la soluzione.

Dici che con 2007 non funziona: quale e' la riga che va in errore? Penso che hai mutuato il codice da uno dei post di ramset64, se non sbaglio anche lui usa 2007.
In ogni caso, prova a registrare una macro mentre salvi il foglio come testo e posta il codice ottenuto.
Io non ho 2007 ma qualche ragionamento lo possiamo fare.

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

Re: [excel] salvare txt con codice xhtml valido

Postdi cola967 » 16/01/09 11:15

ciao anthony47, speravo in un tuo intervento risolutore e ti ringrazio dell'interessamento al problema
confermo che il codice postato l'avevo preso dal forum da un post di ramset64 e che l'ho successivamente modificato con le tue risposte in

NomeTxt = Replace(ActiveWorkbook.Name, ".xlsm", ".html")
ActiveWorkbook.SaveAs Filename:=NomeTxt, _
FileFormat:=xlUnicodeText, CreateBackup:=False

allora, come anticipato nei post precedenti, io ho bisogno di un copia/incolla un po particolare, che se fatto manualmente non genera errori, ma se fatto col salvataggio dei file .xlsx sul notepad, genera errori, nel senso che il contenuto della cella a1 <table><tr><td>"il mio testo"</td></tr></table> diventa "<table><tr><td>""il mio testo""</td></tr></table>". In pratica vengono aggiunte delle virgolette doppie prima di < all'inizio e dopo > alla fine ed all'interno dove ci sono le virgolette ne aggiunge altre; e questa sporcatura dei dati in output mi genera errore sul server perchè l'html è formattato male.

A me servirebbe che excel compia questa operazione [cosa che faccio in manuale e che mi genera codice xhtml valido]
1) seleziona i dati nelle celle A1:a5
2) copia i dati selezionati
3) apri notepad [oppure un file di notepad presente su c:\...]
4) incolla i dati selezionati sul notepad
5) salva il notepad e chiudilo

spero di avere esposto il problema in maniera chiara, e credo che per arrivare alla soluzione si debba passare attraverso l'utilizzo dell'oggetto Application, per creare una nuova istanza di notepad su cui incollare i dati.

anthony47 grazie per il tempo dedicatomi, sono nelle tue mani, anzi nel tuo codice, sempre pulito ed essenziale
cola967
Newbie
 
Post: 9
Iscritto il: 15/01/09 12:57

Re: [excel] salvare txt con codice xhtml valido

Postdi Anthony47 » 16/01/09 14:54

Guarda se quanto presentato in questa discussione aiuta anche te:
viewtopic.php?f=26&t=77363 in particolare questo post di pietrol viewtopic.php?f=26&t=77363#p440504

Se No fatti sentire.

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

Re: [excel] salvare txt con codice xhtml valido

Postdi cola967 » 17/01/09 18:15

ciao anthony47 e grazie per la risposta
avevo già provato il codice su una piattaforma diversa e confermo che con excel2003 e XP tutto funziona a dovere.
il problema nasce con la versione 2007 e resta.

qualche idea?
cola967
Newbie
 
Post: 9
Iscritto il: 15/01/09 12:57

Re: [excel] salvare txt con codice xhtml valido

Postdi Anthony47 » 18/01/09 16:22

Humm... credo che sia l' istruzione "writeline"; prova una macro come questa:
Codice: Seleziona tutto
Sub cola()
Open "C:\file123.txt" For Output As #1
For Each Cella In Range("A1:A5")
Print #1, Cella.Value
Next Cella
Close #1
End Sub

Ciao, fai sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [excel] salvare txt con codice xhtml valido

Postdi cola967 » 18/01/09 23:10

mi occupo di informatica da oltre vent'anni, per lavoro, passione e gioco.
ho frequentato forum di ogni tipo e per ogni linguaggio di programmazione [html, xhtml, xml, php etc etc] e per i più conosciuti software [audocad, photoshop ed excel tanto per citarne 3] ma rare volte, di fronte a problematiche di un certo livello, mi è capitato di avere una risposta così precisa in così pochi post e tempo, ma soprattutto FUNZIONANTE.
mi inchino virtualmente davanti a Anthony47, ti avevo definito guru, e mi scuso ora per l'eufemismo. tu sei un GRANDE GURU di EXCEL, altro che guru con la minuscola. un vero GENIO e ti ringrazio davvero di cuore.
e complimenti pure a pc-facile.com che si avvale della collaborazione di un esperto come Anthony47; con un forum a questi livelli ti credo che il pc è facile!!!

un ultimo quesito, secondo te, se usassi la macro per stampare la selezione a1:h50 su un file .gif, credi che possa funzionare?

ps: io l'ho già provata con file123.html al posto di file123.txt, e FUNZIONA alla grande!!!
cola967
Newbie
 
Post: 9
Iscritto il: 15/01/09 12:57

Re: [excel] salvare txt con codice xhtml valido

Postdi Anthony47 » 19/01/09 01:33

Un Utente soddisfatto, direi.
un ultimo quesito, secondo te, se usassi la macro per stampare la selezione a1:h50 su un file .gif, credi che possa funzionare?
ps: io l'ho già provata con file123.html al posto di file123.txt, e FUNZIONA alla grande!!!
No, non funzionerebbe perche' la macro scrive un testo; un file html e' intrinsecamente un file testo che contiene comandi interpretati dal browser, ecco perche' funziona.
Ma non disperare, guarda in questo post come si puo' fare: viewtopic.php?f=26&t=74303

Ciao, fai sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [excel] salvare txt con codice xhtml valido

Postdi cola967 » 19/01/09 09:23

ciao Anthony47
UTENTE MOLTO SODDISFATTO è la definizione giusta!!!
allora, ieri sera ho girovagato nel forum ed ho trovato la soluzione clonando una prima parte di un post in cui si genera una Chart su cui si incolla la selezione voluta. Poi si esporta la chart generata in formato .gif. nel pomeriggio ti posto il codice [che funziona egregiamente] così quando hai un minuto e sempre che tu sia disponibile gli dai una ripulita per renderlo fruibile a tutti gli utenti del forum.

con stima
marco
cola967
Newbie
 
Post: 9
Iscritto il: 15/01/09 12:57

Re: [excel] salvare txt con codice xhtml valido

Postdi cola967 » 19/01/09 19:31

ciao GRANDE anthony47
come promesso eccoti il codice:

Sub convertiGif()
'genera un file .gif della selezione del foglio attivo
Range("d2:ac48").Select
Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
Sheets("GA-File").Select
Dim ch As ChartObject
Set ch = Sheets("GA-File").ChartObjects.Add(1, 1, 400, 620)
ActiveSheet.ChartObjects(1).Activate
ActiveChart.ChartArea.Select
ActiveChart.Paste
Worksheets("GA-File").ChartObjects(1) _
.Chart.Export _
Filename:="C:\percorso\uno.gif", FilterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
End Sub

così com'è fa tutto quello che deve fare, ma poichè l'ho generata con vari copia/incolla, magari se gli dai un occhiata tu, mi sento più sicuro e protetto.

ciao GRANDE e grazie ancora
marco
ps: ti devo un favore
cola967
Newbie
 
Post: 9
Iscritto il: 15/01/09 12:57

Re: [excel] salvare txt con codice xhtml valido

Postdi Anthony47 » 19/01/09 22:19

Se fa quello che ti serve e' perfetta cosi'... ma mi permetto di insinuare che non fa quello che ti serve :-))
Essa infatti imposta una chart la cui dimensione e' scollegata da quella del disegno che ci applicherai, quindi da una parte puo' risultare piu' stretta e clippare l' immagine e dall' altra puo' risultare piu' lunga ed essere piena di vuoto.
Difficilmente e' quello che volevi, quindi potresti aggiungere queste
Codice: Seleziona tutto
Range("d2:ac48").Select                       '<<< Esistente
GifLargh = Selection.Width + 10         '<<<AGGIUNTA
GifAlt = Selection.Height + 10             '<<<AGGIUNTA
Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap      '<<< Esistente

E poi modificare questa Set ch = Sheets("GA-File").ChartObjects.Add(1, 1, 400, 620) in questa
Codice: Seleziona tutto
Set ch = Sheets("Foglio3").ChartObjects.Add(1, 1, GifLargh, GifAlt)

In questo modo il disegno verra' di dimensione uguale alla selezione.

Se invece vuoi un disegno di dimensione fissa (es 400 * 600), allora potresti adattare Width e Height della forma alla dimensione della chart usando i metodi ScaleWidth e ScaleHeight per variare il size del disegno.

E' originale l' uso della chart col disegno di sfondo, che consente l' uso del metodo Export e quindi la definizione del path e del nome dell' immagine da salvare; col mio metodo l' immagine viene salvata con un nome definito da excel.

Come vedi non si finisce mai di imparare.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [excel] salvare txt con codice xhtml valido

Postdi cola967 » 20/01/09 09:28

grazie, Anthony
sono senza parole... avevo inserito i valori 400 620 perchè dopo averci smanettato un po sopra mi restituiva una gif più o meno proporzionata. sono sicuro che con la tua 'pulizia' la gif restituita sarà esattamente uguale a quanto visualizzato da excel.

stasera la provo e ti faccio sapere. grazie
marco

ps: hai mai pensato di scrivere un libro sui segreti di excel? più leggo post di questo forum e più mi rendo conto che raramente [se non quasi mai] non hai una risposta ai quesiti che ti vengono posti, ed il codice da te proposto è sempre perfetto. ancora complimenti
cola967
Newbie
 
Post: 9
Iscritto il: 15/01/09 12:57

Re: [excel] salvare txt con codice xhtml valido

Postdi cola967 » 22/01/09 22:41

ciao Maestro,
scusami per il ritardo nel risponderti, ma il lavoro viene prima della passione, e solo ora ho trovato il tempo di provare il tuo codice [sublime...]
allora, come ogni buon Maestro che si rispetti, di tanto in tanto occorre mettere alla prova l'Allievo... infatti, se provi la macro inserendo le righe aggiunte nella posizione da te riportata, si ottiene una gif di dimensioni identiche a quella che otterresti facendo copia/incolla [fantastico] solo che completamente bianca; ma se invece posponi le due righe aggiunte a Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap si fa centro perfetto: gif di dimensioni identiche con l'immagine a colori; che dire Anthony, io ho finito gli aggettivi...
se solo avessi trovato questo forum prima...

comunque, a beneficio di tutti gli utenti, ecco il codice che completo [o almeno quello che funziona con excel 2007]

Codice: Seleziona tutto
Sub convertiGif()
'genera un file .gif della selezione del foglio attivo
Range("d2:ac48").Select                    '<<<I dati sul foglio excel, es. celle d2:ac48
Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap    '<<< copia come bmp
GifLargh = Selection.Width + 10         '<<<attribuisci a GifLarg il valore Width + 10
GifAlt = Selection.Height + 10            '<<<attribuisci a GifAlt il valore Height + 10
Sheets("GA-FileGiornate").Select        '<<<[seleziona il foglio GA-FileGiornate
Dim ch As ChartObject                      '<<<[dichiara variabile ch come ChartObject
Set ch = Sheets("GA-FileGiornate").ChartObjects.Add(1, 1, GifLargh, GifAlt)
ActiveSheet.ChartObjects(1).Activate
ActiveChart.ChartArea.Select
ActiveChart.Paste
Worksheets("GA-FileGiornate").ChartObjects(1).Chart.Export _
    Filename:="C:\000-Ruolini\DEF\Xls-2007_v02_ITA_macro\ruolini\uno.gif", FilterName:="GIF"
ActiveSheet.ChartObjects(1).Delete
End Sub


ho sempre imparato molto in fretta tutto quanto attiene l'informatica, ma da quando leggo questo forum, sto facendo psssi da gigante.

grazie anthony47
marco
ps: il resto del codice non l'ho volutamente commentato, perchè il principio di base di un forum deve essere [almeno secondo me] "leggi, studia e aguzza l'ingegno...
cola967
Newbie
 
Post: 9
Iscritto il: 15/01/09 12:57

Re: [excel] salvare txt con codice xhtml valido

Postdi Anthony47 » 23/01/09 03:35

Il Moderatore raccomanda di limitare gli elogi e fermarsi ai ringraziamenti...

Su Excel xp e 2003 la sequenza produce sia la cornice che l' immagine:
Codice: Seleziona tutto
Range("Quello_che_vuoi").Select
GifLargh = Selection.Width + 10         '<<<AGGIUNTA
GifAlt = Selection.Height + 10             '<<<AGGIUNTA
Selection.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
Sheets("Foglio2").Select
Dim ch As ChartObject
Set ch = Sheets("Foglio2").ChartObjects.Add(1, 1, GifLargh, GifAlt)
etc etc
Su 2007 invece produce solo la cornice? Se Si, buono a sapersi.

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


Torna a Applicazioni Office Windows


Topic correlati a "[excel] salvare txt con codice xhtml valido":


Chi c’è in linea

Visitano il forum: Nessuno e 82 ospiti