Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro per aprire e stampare file PDF

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

Macro per aprire e stampare file PDF

Postdi formica79 » 13/07/16 17:40

Buongiorno a tutti e vi ringrazio anticipatamente per chi proverà ad aiutarmi...

Premetto che ho questo problema da oltre un mese e nonostante abbia letto e riletto altre discussioni con tema simile non sono riuscito a risolvere.

Il problema

Uso Excel 2013

Ho realizzato un foglio di Excel che mi processa gli ordini in entrata di una ditta.
ogni volta che mi arriva un ordine ho la necessità di stampare il relativo disegno di ogni articolo.
Visto che si parla di diversi disegni da stampare ogni settimana speravo vi fosse il modo di poter aprire tramite excel un pdf e stamparlo.

Il mio foglio richiama già in "automatico" nel range x14:x49 del foglio "ordini" i link relativi ad ogni articolo che io inserisco.
Vorrei se possibile che la Macro "cliccasse" ogni link aprendo il file PDF e mandandolo in stampa automaticamente senza bisgono che sia io a lanciare manualmente le stampe.

Con tutto quello che ho letto credo sia tecnicamente fattibile ma purtroppo le mie conoscenze excelliane e soprattutto delle macro non mi hanno permesso di risolvere il problema.

Se qualcuno necessita di altre info io potrò accedere al forum tutti i giorno dopo le 16...quindi avrò modo di eventualmente rispondere solo dopo quell'orario.

Ancora grazie per chi mi vorrà aiutare
formica79
Utente Junior
 
Post: 12
Iscritto il: 13/07/16 17:25

Sponsor
 

Re: Macro per aprire e stampare file PDF

Postdi Anthony47 » 14/07/16 00:11

Ciao formica79, benvenuto nel forum.
Mah, non sono certo che i risultati saranno brillanti, quindi prova questa macro partendo con pochi elementi da stampare:
Codice: Seleziona tutto
Sub allprint()
For i = 14 To Cells(Rows.Count, "X").End(xlUp).Row
    If Range("X" & i).Hyperlinks.Count > 0 Then
        chlink = Range("X" & i).Hyperlinks(1).Address
        Shell ("C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe /t " & chlink)       '<<<<
    End If
Next i
End Sub

La macro si aspetta che le celle dell'intervallo X14 e sottostanti abbiano un hyperlink che punta al file pdf che si vuole stampare; la macro usa quel percorso per comandare tramite shell script la stampa.
Verifica il percorso corretto sotto cui e' disponibile l'applicativo AcroRd32.exe e correggi eventualmente quanto scritto sulla riga marcata <<<.

Se con pochi documenti funziona, prova con piu' documenti; tieni presenti che la macro continua a lanciare altre stampe mentre quella/quelle precedenti non sono ancora terminate, perche' i processi shell sono asincroni; do' per scontato che il tuo pc non vada in crisi con 35 processi Acrobat.

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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per aprire e stampare file PDF

Postdi formica79 » 14/07/16 16:30

CIao Anthony...che dire grazie per l'aiuto...ho provato ora velocemente e sembra che funzioni tutto...quasi quasi stento a crederci...domani provero al lavoro in modo ufficiale....intanto ancora mille e mille grazie
formica79
Utente Junior
 
Post: 12
Iscritto il: 13/07/16 17:25

Re: Macro per aprire e stampare file PDF

Postdi Flash30005 » 15/07/16 00:08

Puoi eliminare il "sembra"

Non so come hai organizzato questo foglio di link
se una volta stampato elimini le righe o no
Nel caso di eliminazione non ci sono problemi ma se l'elenco rimane e aggiungi altri link (file da stampare)
stamperai di nuovo quelle precedenti, ti consiglierei di mettere (in colonna libera esempio Z)
un "flag" (esempio il numero 1) in corrispondenza della riga che hai stampato
e aggiungere la condizione (prima della riga di stampa) che se la cella ("Z" & I) = "" allora stampa

Tipo questa

Codice: Seleziona tutto
    If Range("X" & i).Hyperlinks.Count > 0 and Range("Z" & i).value = "" Then   '<<<<<< modificata
        chlink = Range("X" & i).Hyperlinks(1).Address
        Shell ("C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe /t " & chlink)     
          Range("Z" & i).value = 1            '<<<< aggiunta
    End If


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro per aprire e stampare file PDF

Postdi formica79 » 15/07/16 16:20

Ciao e grazie anche a te Flash...l'elenco dei link viene azzerato e pulito ad ogni ordine quindi non credo serva la tua modifica ma ti ringrazio sentitamente lo stesso...

Oggi ho provato al lavoro ma con grande stupore non funge in quanto apre reader che dice che è impossibile aprire il file... :eeh:
Confermo che i link se cliccati manualmente aprono correttamente il relativo disegno...e il percorso di acrobat è giusto in quanto il programma si apre..

A parte questo non ricevo errori da excel o altro...avete idea di dove sto clamorosamente sbagliando? :undecided:
formica79
Utente Junior
 
Post: 12
Iscritto il: 13/07/16 17:25

Re: Macro per aprire e stampare file PDF

Postdi formica79 » 15/07/16 16:40

aggiungo

Ieri provato a casa dove ho installato la suite adobe (ma non una stampante) processa tutto senza errori.

Al lavoro su 2 PC 1 con reader 9 e un con l'11..riporta l'errore

impossibile aprire il file non trovato
formica79
Utente Junior
 
Post: 12
Iscritto il: 13/07/16 17:25

Re: Macro per aprire e stampare file PDF

Postdi Anthony47 » 19/07/16 01:21

Prova sostituendo chlink = Range("X" & i).Hyperlinks(1).Address con
Codice: Seleziona tutto
        chlink = """" & Range("X" & i).Hyperlinks(1).Address & """"


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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per aprire e stampare file PDF

Postdi formica79 » 23/08/16 13:00

Anthony47 ha scritto:Prova sostituendo chlink = Range("X" & i).Hyperlinks(1).Address con
Codice: Seleziona tutto
        chlink = """" & Range("X" & i).Hyperlinks(1).Address & """"


Ciao


Ciao Antony e scusa il ritardo nella risposta ma ho avuto qualche problema che mi ha tenuto lontano dal progetto...ora sono di nuovo sul pezzo..
La modifica ora funziona...mi apre il file e me lo stampa....ma lo fa solo con il primo link...cioè non apre tutti i link presenti nella colonna x...

Grazie ancora e ciao
formica79
Utente Junior
 
Post: 12
Iscritto il: 13/07/16 17:25

Re: Macro per aprire e stampare file PDF

Postdi Anthony47 » 24/08/16 23:30

Anthony ha scritto: La macro si aspetta che le celle dell'intervallo X14 e sottostanti abbiano un hyperlink che punta al file pdf che si vuole stampare; la macro usa quel percorso per comandare tramite shell script la stampa
Provando nelle condizioni descritte e col codice che ti avevo dato io mi ritrovo con N stampe in coda.

Se ottieni un esito diverso dovresti pubblicare il file che usi, completo di hyperlinks, e cercheremo la gabola.
Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per aprire e stampare file PDF

Postdi formica79 » 30/08/16 15:38

Ciao Anthony preferirei se possibile inviarti il file in privato ( cosa che credevo gia di avere fatto) per evitarne la diffusione...ma mi sono accorto che il messaggio provato che ti ho mandato è nella posta in uscita ma non lo invia... ho provato anche ad inviare un nuovo mp ma mi rimane sempre nella cartella in uscita...forse è una limitazione del forum.... :cry:
formica79
Utente Junior
 
Post: 12
Iscritto il: 13/07/16 17:25

Re: Macro per aprire e stampare file PDF

Postdi Anthony47 » 31/08/16 00:16

Ricevo via mail i testi dei messaggi privati inviatimi, e li "scarico" nei miei messaggi ricevuti quando ho tempo; nel frattempo rimangono nella tua posta in uscita.
In linea di massima non do' assistenza a problemi posti via MP, faccio una eccezione perche' quanto da me indicato nella discussione puo' essere errato.
Infatti gli indirizzi di hyperlink in Excel possono essere memorizzati in modalita' "assoluta" (es C:\Utente\Documents\NomeFile) o modalita' "relativa" (es ..\SubDir\NomeFile); in questo secondo caso il ".." indica una directory a 1 livello superiore a quella in cui si trova il file Excel in esecuzione.
Dovrebbe esserci una impostazione in Opzioni, ma non l'ho trovata...
Questo complica alquanto il calcolo del percorso del file da aprire in modalita' "stampa".
A occhio mi pare che questa versione gestisca le possibili combinazioni:
Codice: Seleziona tutto
Sub allprint2()
Dim Relat As Boolean, cHLink As String, TwP As String
'
For i = 14 To Cells(Rows.Count, "X").End(xlUp).Row
    If Range("X" & i).Hyperlinks.Count > 0 Then
        cHLink = Range("X" & i).Hyperlinks(1).Address
        Relat = False
        TwP = ThisWorkbook.Path
'
        Do
            If Len(cHLink) > Len(Replace(cHLink, "..\", "", , , vbTextCompare)) Then
            Relat = True
                cHLink = Replace(cHLink, "..\", "", 1, 1, vbTextCompare)
                split1 = Split(TwP, "\")
                TwP = Replace(TwP, "\" & split1(UBound(split1)), "", 1, 1, vbTextCompare)
            Else
                Exit Do
            End If
        Loop
        If Left(cHLink, 1) = "\" Then
            Relat = True
            cHLink = Mid(cHLink, 2, 999)
        End If
'       
        If Relat Then
            cHLink = """" & TwP & "\" & cHLink & """"
        Else
            cHLink = """" & cHLink & """"
        End If
        Shell ("C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe /t " & cHLink)     '<<< Controlla percorso di AcroRd32
Debug.Print cHLink
    End If
Next i
End Sub

Prova e fai sapere...
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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per aprire e stampare file PDF

Postdi formica79 » 31/08/16 15:34

Antony come posso sdebitarmi??? funziona perfettamente ora...

grazie grazie e grazie ancora!!!!!
formica79
Utente Junior
 
Post: 12
Iscritto il: 13/07/16 17:25


Torna a Applicazioni Office Windows


Topic correlati a "Macro per aprire e stampare file PDF":


Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti