Condividi:        

[EXCEL] Stampare pdf da lista link in foglio excel

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] Stampare pdf da lista link in foglio excel

Postdi rosy2 » 08/02/15 17:58

Ciao A tutti! :D

Tempo fa avevo ricevuto un grandissimo aiuto da Anthony47 per automatizzare la stampa di pdf a partire da un foglio excel (ecco qui il topic..: viewtopic.php?f=26&t=100564) . La soluzione trovata e' bellissima e mi ha salvato decine di ore di copincolla...e ogni volta che lancio la macro lancio sto li' a guardarla ipnotizzata finche' finisce...fantastica. :D

Ora vorrei cercare di fare la stessa cosa con il file excel delle ricette di cucina "da-provare-prima-o-poi" che ho letto in rete. Il mio file riporta in colonna A il nome della ricetta e in colonna B il link del web al quale e' presente la ricetta.... ho deciso di scaricare le ricette sul mio hard disk perche' mi sono accorta che molti link non ci sono piu' e quindi molte ricette sono diventate irraggiungibili.... :cry: :cry: :aaah :aaah :evil: :evil: quindi vorrei provare a scaricare quelle ancora disponibili salvando un pdf per ogni ricetta, con nomefile preso dalla colonna A. I link sono piu' di 1000, cosi' fare i pdf a mano sarebbe un pasticcio lunghissimo.

Secondo voi e' possibile con una macro excel aprire una pagina web, stamparla in pdf dal browser, chiudere la scheda del browser, rientrare in excel e poi ricominciare?

Grazie millissime per ogni commento, suggerimento e :idea: idea :idea: !
Io uso...: Win7 + Office 2010 - in Italiano
rosy2
Utente Junior
 
Post: 28
Iscritto il: 17/04/13 11:02

Sponsor
 

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Anthony47 » 08/02/15 19:23

Secondo voi e' possibile con una macro excel aprire una pagina web, stamparla in pdf dal browser, chiudere la scheda del browser, rientrare in excel e poi ricominciare?
Probabilmente Si; di piu', senza accedere al sito, non posso dire...

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

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi rosy2 » 08/02/15 20:13

Buonasera Anthony!! :)

i link che portano alle ricette appartengono a molti siti... :oops: ecco qui un esempio xls delle ultime ricette che ho messo nel file. http://www.filedropper.com/ricettea
Di solito questi sono i siti che visito spesso per le ricette...ma ce ne sono anche altri, se e' utile trovo un esempio di link per ogni sito presente nel file xls.
Grazie per un tuo illuminante consiglio!
Io uso...: Win7 + Office 2010 - in Italiano
rosy2
Utente Junior
 
Post: 28
Iscritto il: 17/04/13 11:02

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Flash30005 » 08/02/15 22:17

Tempo fa feci un programma per un utente che aveva l'esigenza di avere su un foglio di Excel tutte le ricette delle quali aveva il file testo (.txt) e file documento di word (.doc)

Te lo propongo perché non so se è più pratico andare sul sito (anche se automatizzato con macro) e creare un file pdf
perché penso che per ricercare quella determinata ricetta, tra i vari file archiviati diventa problematico, (ma è solo un mio parere)
Download File
Scompatta l'archivio in una cartella dell'HD (evita il desktop)
avrai un elenco di file testo e un file di Excel
avvia il file di Excel e attiva l'esecuzione delle macro se disabilitate
poi fai un doppio click su Start
Nel foglio avrai di ogni singola ricetta tutti gli ingredienti
i file processati saranno archiviati in un'apposita cartella per evitare di processarli di nuovo

A questo punto è sufficiente avere delle ricette in formato testo o .doc per crearsi un database culinario

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi rosy2 » 09/02/15 10:25

Grazie Flash30005!

Magari avessi le ricette in txt!! :-?

Se fossi stata saggia ogni volta trovata la ricetta che desideravo salvare, avrei creato o il pdf della pagina oppure la avrei salvata in formato testo :oops: .. ma ho solo memorizzato il link su excel con il nome della ricetta... quindi purtroppo non ho nulla in formato txt o doc... ed ora mi sono accorta che parecchie ricette non sono piu' reperibili a quegli indirizzi e vorrei salvare in modo leggibile quelle che ancora sono in rete a quei link... la scelta del pdf era perche' i siti dai quali ho letto le ricette sono diversi e hanno dei formati e layout diversi fra loro, alcuni hanno foto, altri no.... Concordo con te sul fatto che avere X files in pdf non e' il massimo per ricercare le ricette, ma pensavo di denominare ciascun file con il nome della ricetta che ho in colonna A e di accontentarmi nel fare la ricerca tramite il nomefile.
Ho visto che ci sono dei servizi online che permettono di avere il pdf a partire dal link, ma bisogna comunque copincollare il link, e scrivere il nomefile per ogni ricetta e ne ho piu' di 1000 ... :cry:

Intanto pero' mi studio la tua macro ;) , senz'altro imparo moltissime cose.... Grazie :)
Io uso...: Win7 + Office 2010 - in Italiano
rosy2
Utente Junior
 
Post: 28
Iscritto il: 17/04/13 11:02

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Flash30005 » 09/02/15 14:04

Beh sta a te valutare se è meglio
salvare in pdf, archiviare, aprire file dopo file e rinominare il nome del file
oppure
salvare il testo, lanciare la macro, e fare una ricerca con trova (anche un nome di un solo componente del preparato) ;)

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Anthony47 » 10/02/15 02:55

Non so se intendi procedere come suggerito da Flash.
Comunque la cosa e' meno semplice di quanto si pensi.
Al momento ho messo in piedi la stampa dei file del tipo http://www.lacucinaitaliana.it/stampari ... etta=10987, la cui stampa parte automaticamente al caricamento della pagina.
Devi pero' fare delle impostazioni manuali...
1.Devi avere installata la stampante virtuale PDFCreator
2.Personalizza PDFCreator in modo che stampi automaticamente:
-avvia PDFCreator
-Menu /Stampante /Opzioni; fai click su SalvataggioAutomatico
-spunta Utilizza salvataggio automatico
-spunta Utilizza questa cartella per il salvataggio automatico
-come cartella io ho usato D:\PIPPO\prova\
Puoi usare la cartella che vuoi; la cartella deve gia' esistere e non deve contenere file con nome del tipo 2015*.pdf; lo stesso nome va inserito in una riga del codice macro (vedi avanti)
-conferma con Salva e puoi chiudere la finestra PDFCreator


A questo punto inserisci in un nuovo "Modulo" del tuo file il seguente codice:
Codice: Seleziona tutto
Dim IE As Object, objPDFCreator As Object

Sub stamparicette()
Dim I As Long, myF As String, myTim As Single
'
Call Shell("rundll32 printui.dll,PrintUIEntry /y /n ""PDFCreator""")
myWait (2)
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
Perc = "D:\PIPPO\prova\"                        '<<<< La directory di salvataggio automatico
For I = 2 To Cells(Rows.Count, 2).End(xlUp).Row
    If Dir(Perc & "2015*.pdf") <> "" Then Stop   '**** Vedi Testo
    Cells(I, 2).Select
    If InStr(1, Cells(I, 2).Value, "stamparicetta.aspx", vbTextCompare) > 0 Then
        GetTabs (Cells(I, 2))
        myWait (1.5)
        Application.SendKeys "^{ENTER}"
        myWait (1)
        myTim = Timer
remyF:
        myF = Dir(Perc & "2015*.pdf")
        If myF = "" And Timer < (myTim + 8) Then GoTo remyF
        myWait (2.5)
        If myF <> "" Then Name (Perc & myF) As (Perc & Cells(I, 1).Value & ".pdf")
        'Set IE = Nothing
        xxxx = Timer - myTim
    '    Stop
    End If
Next I
IE.Quit
Set IE = Nothing
MsgBox ("Completato...")
End Sub


Sub myWait(myStab As Single)
Dim myStTiM As Single
'
    myStTiM = Timer
    Do          'wait myStab
        DoEvents
        If Timer > myStTiM + myStab Or Timer < myStTiM Then Exit Do
    Loop
End Sub

Sub GetTabs(ByVal MyUrl As String)
'
If IE Is Nothing Then Set IE = CreateObject("InternetExplorer.Application")
With IE
    .navigate MyUrl
    .Visible = True
    Do While .Busy: DoEvents: Loop    'Attesa not busy
    Do While .readyState <> 4: DoEvents: Loop 'Attesa documento
End With
'
myWait (1)
End Sub

Operativamente, da Excel:
Alt-F11 per aprire l' editor delle macro; Menu /Inserisci /Modulo; copia il codice e incollalo nel frame di dx.
La riga marcata <<< deve contenere la stessa directory su cui PDFCreator e' stato impostato per salvare automaticamente

Poi torna in excel, seleziona il foglio con gli indirizzi, lancia la macro " stamparicette": Alt-F8, seleziona stamparicette dall' elenco che ti propone, premi Esegui.

A questo punto la macro:
-apre InternetExplorer, carica la prima pagina, avvia la stampa con il nome file automatico (tipo aaaammgghhmmss.pdf), rinomina quel file con la descrizione di colonna A; ripete con la pagina successiva.
La macro lavora "alla cieca", cioe' assume che la finestra attiva sia quella che lei ha attivato; questo significa che durante tale processo e' meglio non toccare la tastiera o il mouse...

Qualora la macro trovi, prima dell' apertura della prossima pagina web, un file del tipo "2015*.pdf" nella directory di salvataggio, essa si ferma sulla riga marcata ****; in quel caso ispeziona la directory, controlla che il file della riga "Selezionata" sul foglio Excel esista; se non esiste allora probabilmente si tratta del "Rinomina" non andato a buon fine: controlla il contenuto del file pdf e se corrisponde alla riga selezionata fai un Rinomina manuale; altrimenti cancella il file (al massimo ti machera' una ricetta); torna sulla finesta delle macro e premi F5; l' esecuzione dovrebbe continuare.

Tieni presente che ogni ricetta porta via 6-10 secondi (solo quelle processate, cioe' del tipo lacucinaitaliana.it/stamparicetta.aspx)

Se il risultato e' idoneo vedremo come fare con le altre.
Finita la stampa e' opportuno togliere, in PDFCreator /Opzioni, l' impostazione "Utilizza salvataggio automatico"

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

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi rosy2 » 10/02/15 09:41

Ciao Anthony!
Grazieeeeeee! :D :D :D :D
Il risultato e' fantastico, e grazie alle tue spiegazioni dettagliate non ho sbagliato nulla e la macro e' andata perfettamente da subito!
Quasi spiace quando ha finito di girare ... :).. Infatti l'ho fatta andare 2 volte... Cosi' ho gia' salvato piu' di 250 ricette, grazie!! Soprattutto grazie perche' mi sembra che hai fatto le ore piccole a causa della macro per le mie ricette! :roll: :)

La cosa bella delle ricette su quel sito e' che sono molto uniformi nel formato e che non hanno pubblicita' o altri contenuti che non c'entrano con la ricetta. Adesso le sto organizzando per tipologia(primi secondi, etc..). Mi faro' un ricettario personalissimo e perfetto. :D
Una domanda: ma sarebbe possibile a tuo parere prendere il titolo della ricetta(ad uso nomefile) dall'interno del pdf invece che dalla colonna 1(oppure dal titolo della pagina web)? In questo modo ci sarebbe corrispondenza 1:1 con il nomefile.
Un'altra domanda :oops: : come mai questa macro non si puo' usare anche per gli altri siti?

Grazie ancora di tutto.
Io uso...: Win7 + Office 2010 - in Italiano
rosy2
Utente Junior
 
Post: 28
Iscritto il: 17/04/13 11:02

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Anthony47 » 10/02/15 14:11

Le pagine di http://www.lacucinaitaliana.it/stampari ... icetta=xyz hanno un comportamento diverso da altre che ho provato, cioe' avviano loro stesse all' apertura la stampa; per questo vanno processate a loro modo.
Vedro' se riesco a inserire un secondo processo per le altre pagine che hai inserito nel file demo.
Quanto a prelevare il titolo dal pdf stesso, non ci provo nemmeno (c' e' uno standard su come posizionare il titolo di una ricetta?); si potrebbe prelevare dal sorgente della pagina, ma questo probabilmente puo' funzionare finche' si rimane sullo stesso server (vedasi il tag <span id="lblTitle"> nelle pagine di lacuciniaitaliana.it) ma (non esistendo uno standard su come identificare il titolo in pagine di ricette...) su server diversi non funzionerebbe.

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

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi rosy2 » 11/02/15 09:49

Grazie Anthony per tutte le spiegazioni e per la pazienza. :)

In effetti e' meglio prendere il nomefile da excel, in questo modo posso addirittura prefissare il nome della ricetta con la tipologia (ad es. Dolci, Primi, Secondi...) e trovarmi poi i pdf ordinati per tipologia. :D

Mi sa che ti devo almento una torta meringata alle arance! :D
Ancora grazie.
Io uso...: Win7 + Office 2010 - in Italiano
rosy2
Utente Junior
 
Post: 28
Iscritto il: 17/04/13 11:02

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi rosy2 » 12/02/15 17:15

Ciao Anthony!
ho provato a riscaricare le ricette sul pc di mia cugina, dopo aver rinominato tutti i nomi ricetta in xls, prefissandoli con dolce, primo, secondo etc, ma la macro non mi funziona piu'... sembra che non "prenda" piu' l' "enter" sulla stampa.... si ferma sulla prima ricetta... ho fatto qualche pasticcio? dove sbaglio?? :oops:
Io uso...: Win7 + Office 2010 - in Italiano
rosy2
Utente Junior
 
Post: 28
Iscritto il: 17/04/13 11:02

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Anthony47 » 13/02/15 15:22

Facendo l' applicazione delle mani mi pare che non hai configurato PdfCreator come ti avevo detto nel messaggio precedente; ma come pranoterapista sono abbastanza scarso...

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

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi rosy2 » 13/02/15 15:59

:) :) :) :) :)

si certo che l'ho fatto!!!!! :) :) :)
Non volevo costringerti a indovinare :) :) :) .... posso solo aggiungere che ho verificato il pdf creator (messo 1.7.3 per avere lo stesso che avevo gia' usato) e la sua configurazione; il secondo pc e' con Vista e Office e' 2007... ho ricontrollato la macro rigo per rigo, e poi per essere piu' sicura l'ho riscaricata dal forum e ho personalizzato la dir di appoggio per pdf creator... IE e' la versione 8.

Davvero, sono sicura di aver fatto tutto bene e funziona tutto ma solo se sono io a pigiare "invio" tra una ricetta e l'altra. In questo caso la macro va avanti , si ricarica una nuova ricetta e viene proposta la stampa, il file viene salvato sulla dir giusta con il nome della ricetta... e quindi in definitiva e' solo che il sistema non sente l'input del tasto invio. (mi sembra che nella macro il comando credo sia "sendkey".. giusto?).

Sto cercando di capire, perche' pensavo che le macro funzionassero anche in excel/SO/PC diversi, ma forse e' una mia opinione da apprendista alle primissime armi :oops: Adesso sto cercando in rete come funziona questo comando ma per me e' un po' difficile.
Io uso...: Win7 + Office 2010 - in Italiano
rosy2
Utente Junior
 
Post: 28
Iscritto il: 17/04/13 11:02

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Anthony47 » 14/02/15 01:11

Potrebbe trattarsi di una diversa impostazione di sicurezza di Vista, che impedisce l' invio di caratteri di comando ad applicazioni diverse da quella di origine; ma in questo caso dovrebbe probabilmente comparire una notifica di sicurezza che chiede se autorizzare a fare la modifica...

Prova a sostituire la Sub stamparicette con questa versione:
Codice: Seleziona tutto
Sub stamparicette()
Dim I As Long, myF As String, myTim As Single
'
Call Shell("rundll32 printui.dll,PrintUIEntry /y /n ""PDFCreator""")
myWait (2)
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
Perc = "D:\PIPPO\prova\"                        '<<<< La directory di salvataggio automatico
Set WSShell = CreateObject("WScript.Shell")     '<< +INSERITA
For I = 2 To Cells(Rows.Count, 2).End(xlUp).Row
    If Dir(Perc & "2015*.pdf") <> "" Then Stop   '**** Vedi Testo
    Cells(I, 2).Select
    If InStr(1, Cells(I, 2).Value, "stamparicetta.aspx", vbTextCompare) > 0 Then
        GetTabs (Cells(I, 2))
        myWait (1.5)
        WSShell.SendKeys ("%a")             '<< +INSERITA
'        Application.SendKeys "^{ENTER}"    '<< -ELIMINATO
        myWait (1)
        myTim = Timer
remyF:
        myF = Dir(Perc & "2015*.pdf")
        If myF = "" And Timer < (myTim + 8) Then GoTo remyF
        myWait (2.5)
        If myF <> "" Then Name (Perc & myF) As (Perc & Cells(I, 1).Value & ".pdf")
        'Set IE = Nothing
        xxxx = Timer - myTim
    '    Stop
    End If
Next I
IE.Quit
Set IE = Nothing
Set WSShell = Nothing                        '<< +INSERITA
MsgBox ("Completato...")
End Sub

Le variazioni sono marcate; dovrebbe funzionare anche su Win 7.

Le altre due Sub che facevano parte del codice precedente [Sub myWait(myStab As Single) e Sub GetTabs(ByVal MyUrl As String)] rimangono invariate.

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

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi rosy2 » 16/02/15 09:55

Buongiorno Anthony! :)
Grazie per la tua risposta e per le modifiche alla macro;

ho provato a farla andare su Vista, ma funziona meno bene dell'altra. Mi spiego meglio: la prima versione non recepiva l'"enter" da macro, ma era possibile far si che proseguisse premendo il tasto "enter" manualmente ad ogni nuova pagina web aperta.
La versione nuova su Vista invece mi si blocca anche se premo manualmente "enter" in quanto non fa la rename del .pdf da "2015*.pdf" a "testo_in_colonna_2.pdf" e si blocca quindi sulla riga:

Codice: Seleziona tutto
If Dir(Perc & "2015*.pdf") <> "" Then Stop   '**** Vedi Testo


Ho provato a capire in rete se qualcuno avesse avuto problemi con "sendkeys" e Vista ed effettivamente ho trovato diverse discussioni in merito. Non ho capito quelle strettamente rivolte a sviluppatori, ma ho trovato diverse note relative alla necessita' di disabilitare il controllo utente di Windows Vista per poter permettere a "sendkeys" di funzionare. Ho provato ad applicare questa variazione dal pannello di controllo e a far girare nuovamente la macro (sia la prima che la seconda) ma non e' cambiato nulla, quindi penso che non sia questo il caso. Certo e' che Vista da' molti problemi. :-?

Avendo fatto girare le macro molte volte ho notato tra le due macro una piccola quasi impercettibile differenza (che magari non significa nulla, ma io non lo so :oops: ): con la prima macro, quando esce la finestra della pagina web dove viene proposto "Stampa" o "Annulla" la prima volta (cioe' quando viene elaborato il primo link) si vede il tasto "Stampa" con la "S" non sottolineata, mentre tutte le altre volte (i link successivi) la "S" risulta sottolineata. Con la seconda macro invece succede l'opposto: al primo link la "S" di "Stampa" risulta sottolineata, in tutti i link successivi risulta non sottolineata. Il tasto "Stampa" e' in ogni caso selezionato di default, cosi' come Pdf Creator e' stampante di sistema. Non so pero' se questo spieghi qualcosa.
Grazie ancora.
Io uso...: Win7 + Office 2010 - in Italiano
rosy2
Utente Junior
 
Post: 28
Iscritto il: 17/04/13 11:02

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Flash30005 » 16/02/15 16:07

rosy2 ha scritto: necessita' di disabilitare il controllo utente di Windows Vista per poter permettere a "sendkeys" di funzionare.


Hai provato a riavviare il PC?
A volte è necessario se si cambiano le impostazioni utente

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Anthony47 » 16/02/15 22:58

Dici che la macro si blocca sull' istruzione
Codice: Seleziona tutto
If Dir(Perc & "2015*.pdf") <> "" Then Stop   '**** Vedi Testo
Bene, hai letto il Testo del messaggio (quello dove pubblicai quel codice) per capire il perche' e il percome?
La cosa piu' semplice comunque e' che cancelli tutti i file 2015*.pdf presenti nella directory in cui salvi i file e riesegui la macro.

Sconsiglio di eliminare le impostazioni di sicurezza su un pc; avevo sostituito SendKeys con un windows script proprio per questo.
PECCATO pero' che abbia sbagliato a indicare quali caratteri lo script deve generare; l' istruzione giusta infatti e'
Codice: Seleziona tutto
            WSShell.SendKeys ("^{ENTER}")             '  !!!!  e non ("%a") !!!! << +INSERITA

Riprova, se sei fortunata :D andra' meglio...

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

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi rosy2 » 18/02/15 07:33

Grazie Flash per il consiglio, :) ho provato a far ripartire il pc ma non e' cambiato nulla... Ho anche aggiornato - per quanto possibile - Vista, ma non ho ottenuto cambi di comportamento nell'esecuzione della macro. :aaah

Grazie Anthony, ho provato a fare la modifica che mi hai indicato :
Codice: Seleziona tutto
 WSShell.SendKeys ("^{ENTER}")             '  !!!!  e non ("%a") !!!! << +INSERITA

ma a quanto pare non sono mica tanto fortunata.... :oops: :) ... Con questa modifica non e' cambiato nulla, la macro funziona come la prima, cioe' e' necessario premere manualmente "invio", e' proprio un problema di Vista. Per me la macro e' bellissima comunque perche' in Win 7 funziona alla grande e ho scaricato anche un altro po' di ricette interessanti dal sito.

Adesso sto iniziando a pensare a come utilizzare il suggerimento di Flash per mettere le ricette in un foglio excel (molto piu' pratico per le ricerche, come diceva Flash); innanzi tutto ho trovato il modo per passare i files .pdf in formato .txt, utilizzando un programma open source disponibile in rete; sto cercando di vedere se capisco dove serve modificare la macro di Flash per adattarla alla struttura di file .txt che ho ottenuto, se riesco. :undecided:

grazie
Io uso...: Win7 + Office 2010 - in Italiano
rosy2
Utente Junior
 
Post: 28
Iscritto il: 17/04/13 11:02

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Anthony47 » 18/02/15 23:02

Purtroppo (o fortunatamente) non uso Vista, quindi non conosco le sue impostazioni di sicurezza...

Se vuoi salvare il titolo della ricetta, gli Ingredienti e le istruzioni su Foglio2 puoi usare questa macro, in sostituzione della precedente Sub stamparicette (il resto del codice rimane invariato):
Codice: Seleziona tutto
Sub stamparicette33()
Dim I As Long, myF As String, myTim As Single, myNext As Long
'
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
Sheets("Foglio1").Select
With Sheets("Foglio2")
    .Columns("A:A").ColumnWidth = 31
    .Columns("B:B").ColumnWidth = 56.71
    .Columns("C:C").ColumnWidth = 60.29
    .Columns("A:C").WrapText = True
End With
'
Set WSShell = CreateObject("WScript.Shell")
For I = 2 To Cells(Rows.Count, 2).End(xlUp).Row
    Cells(I, 2).Select
    If InStr(1, Cells(I, 2).Value, "stamparicetta.aspx", vbTextCompare) > 0 Then
        GetTabs (Cells(I, 2))
        myWait (1.5)
        WSShell.SendKeys ("{Esc}")
        myNext = Sheets("Foglio2").Cells(Rows.Count, 1).End(xlUp).Row + 1
        Application.ScreenUpdating = False
        Sheets("Foglio2").Select
        Cells(myNext, 1) = IE.document.getelementbyid("lblTitle").innertext & _
        Chr(10) & IE.document.getelementbyid("lblTime").innertext & _
        Chr(10) & IE.document.getelementbyid("lblKalorie").innertext & _
        Chr(10) & IE.document.getelementbyid("lblDose").innertext
        If Sheets("Foglio2").Cells(myNext, 1).Hyperlinks.Count > 0 Then Sheets("Foglio2").Cells(myNext, 1).Hyperlinks(1).Delete
        ActiveSheet.Hyperlinks.Add Anchor:=Sheets("Foglio2").Cells(myNext, 1), Address:= _
                Sheets("Foglio1").Cells(I, 2).Value
'mypic = IE.document.getelementbyid("IMGBig").outerhtml
        Cells(myNext, 2) = "INGREDIENTI" & Chr(10) & IE.document.getelementbyid("lblIngredienti").innertext
        Cells(myNext, 3) = "PREPARAZIONE" & Chr(10) & IE.document.getelementbyid("lblPreparazione").innertext
        mysplit = Split(Replace(IE.document.getelementbyid("IMGBig").outerhtml, """", ""), "src=/", , vbTextCompare)
'        zzzz = mysplit(1)
        If UBound(mysplit, 1) > 0 Then
                mypic = "http://www.lacucinaitaliana.it/" & Replace(mysplit(1), ">", "")
                Cells(myNext, 4).Select
                On Error Resume Next
                    ActiveSheet.Shapes("ZC_" & myNext).Delete
                On Error GoTo 0
                ActiveSheet.Pictures.Insert(mypic).Select
                Selection.Name = "ZC_" & myNext
                Selection.Height = Cells(myNext, 1).Height
                Cells(myNext, 1).Select
        End If
        Sheets("Foglio1").Select
        Application.ScreenUpdating = True
    End If
Next I
IE.Quit
Set IE = Nothing
Set WSShell = Nothing
MsgBox ("Completato...")
End Sub

Non salvando in formato pdf tutte le istruzioni riguardo la predisposizione di PDFCreator sono inutili, bastera' da excel mandare in esecuzione stamparicette3: Alt-F8, selezioni stamparicette3 dall' elenco di macro disponibili, premi Esegui.
Finita la macro vai in Foglio2, dovresti trovare in colonne A, B e C le informazioni sulle singole ricette, compreso il link (su colonna A) alla ricetta originale.

FUNZIONA solo sulle ricette di http://www.lacucinaitaliana.it, la cui struttura e' oramai nota.

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

Re: [EXCEL] Stampare pdf da lista link in foglio excel

Postdi Flash30005 » 19/02/15 02:18

rosy2 ha scritto:...
sto cercando di vedere se capisco dove serve modificare la macro di Flash per adattarla alla struttura di file .txt che ho ottenuto..


Se hai ottenuto i file .txt non devi modificare nulla
devi solo mettere tutti i file .txt in una cartella insieme al file di Excel che ti ho inviato e avviare la macro.
Il programma provvede a importare ogni singolo file .txt (che trova nella stessa cartella) e archiviarlo in una apposita cartella (ArchivioTxt) che viene creata al primo avvio della macro al fine di evitare duplicati (l'accodamento della stessa ricetta ad un nuovo avvio della macro).
In questa maniera, ad esempio, fai una prima importazione di n file, quando ti procuri altre ricette in formato .txt (o .doc)
non devi far altro che metterle nella cartella del file .xls e avviare di nuovo la macro.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] Stampare pdf da lista link in foglio excel":


Chi c’è in linea

Visitano il forum: Nessuno e 80 ospiti