Pagina precedente | 1 2 3 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Unire due pdf salvati nella stessa cartella [RISOLTA - CHIUSA]

Ultimo Aggiornamento: 28/01/2024 12:53
02/01/2024 22:06

In una cartella di lavoro sono salvati due file.pdf:

FilePdf1 = "C:\Users\User\Desktop\Cartella1\Partita1.pdf" 'file 1
FilePdf2 = "C:\Users\User\Desktop\Cartella1\Partita2.pdf" 'file 2

C'è la possibilità con vba di unirli in un unico file:

FilePdf3 = "C:\Users\User\Desktop\Cartella1\Finale.pdf" 'risultato finale

ovviando a programmi esterni come per esempio PDFTk Server?

Post: 5.026
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
02/01/2024 22:54

Il VBA è il linguaggio di programmazione di Office quindi con Acrobat (pdf) non c’entra nulla.

Quello che puoi fare è, se disponi di una versione di Excel dalla 2010 in poi, usare le Power Query per trasformare i due pdf in file di Excel per poi riunirli in un solo foglio che potrai esportare nuovamente in pdf.
[Modificato da alfrimpa 02/01/2024 22:55]

Alfredo
02/01/2024 23:14

In rete ho trovato questo link:
https://wellsr.com/vba/2017/word/combine-pdfs-with-vba-and-adobe-acrobat/
che come spiega l'Autore:
Questa macro funziona da Word, Excel e altre applicazioni di Microsoft Office, ma prima di poterla eseguire, è necessario aggiungere un riferimento alla libreria di tipo Adobe Acrobat X.0
Post: 5.027
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
02/01/2024 23:30

Bene non sapevo.

Allora segui e fai quanto scritto nel link.

Alfredo
03/01/2024 00:16

Pensavo di aver fatto una cosa positiva nella condivisione, ma sono il solito ingenuo e ci casco sempre.

Devo imparare ancora non solo il vba.

Grazie comunque per avermi invitato garbatamente a seguire quanto scritto nel link, cosa che stavo già facendo e sono a buon punto.

[Modificato da rex88 03/01/2024 00:25]
Post: 3.672
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
03/01/2024 10:19

Rex
sei inutilmente polemico....

Cosa avrebbe dovuto dirti Alfredo - saluti - visto che (Bene non sapevo) non era a conoscenza di quella possibilità?

Ti ha semplicemente suggerito di seguire le indicazioni del link.

Buon Anno




Domenico
Win 10 - Excel 2016
03/01/2024 10:45

Io ci avevo letto un tono tipo: io ti ho dato una soluzione tu ne hai un'altra a questo punto arrangiati.

Se ho interpretato male mi scuso con alfrimpa.

Io seguo sempre i consigli che mi vengono dati senza fare polemiche.

Anzi aspetto con ansia un contributo di quanti hanno conoscenze di vba indiscutibilmente superiori alle mie anche perché l'argomento di che si tratta è abbastanza "tosto" e forse potrebbe essere utile ad altri Utenti.

In fin dei conti è questo lo spirito del Forum o sbaglio, al di là che una discussione venga aperta per risolvere un problema dell'OP.

Grazie e rinnovo gli Auguri di Buon anno.


[Modificato da rex88 03/01/2024 11:03]
Post: 5.028
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
03/01/2024 11:05

Ma se non conoscevo la possibilità illustrata nel link che hai segnalato cos'altro avrei potuto dirti se non seguire quanto in esso illustrato?

Ed inoltre una risposta, in base alle mie conoscenze l'avevo comunque data.

Non potevo sapere se per te andava bene oppure no.

Alfredo
03/01/2024 11:11

Io mi sono scusato e per me la questione è risolta.

Se mi puoi dare una mano date le conoscenze di vba lo apprezzerò altrimenti me ne farò una ragione.

Mi sembra di aver letto che nel Forum ognuno vi partecipa senza alcun obbligo di dare o ricevere risposte.

Io aspetto se vengono bene se non vengono va bene lo stesso.
Post: 5.029
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
03/01/2024 11:16

Ed infatti io ho risposto sulla base di quelle che sono le mie conoscenze.

Altro non posso dire.

Alfredo
03/01/2024 11:22

Il link che ho condiviso tratta di codice vba applicato ad excel.

Volevo solo dirti che navigando di qua e di là nei vari forum ho potuto apprezzare che poi tanto "scarso" in vba non lo sei, anzi ne hai da insegnare e quindi pensavo che potessi dare un tuo contributo.

Ma va bene così.

Ti ringrazio comunque, io proseguo lasciando fuori ogni polemica.



[Modificato da rex88 03/01/2024 11:26]
03/01/2024 11:36

Per quanti fossero interessati aggiungo questi altri link:
https://stackoverflow.com/questions/50298884/how-i-can-merge-multi-pdfs-files-by-using-vba-code
https://stackoverflow.com/questions/58959735/combine-2-pdfs-in-one-using-vba
[Modificato da rex88 03/01/2024 11:40]
Post: 5.030
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
03/01/2024 11:46

Re:
rex88 (nTdQ231201), 03/01/2024 11:22:


Volevo solo dirti che navigando di qua e di là nei vari forum ho potuto apprezzare che poi tanto "scarso" in vba non lo sei, anzi ne hai da insegnare e quindi pensavo che potessi dare un tuo contributo.



Ma non posso sapere tutto e questa era una delle tante cose che non sapevo.



Alfredo
03/01/2024 12:01

Non sono nessuno per dare giudizi, ma continuo a pensare che sei all'altezza di interpretare qualunque codice di vba applicato ad excel e trarne soluzioni.

E questo non lo dico per piaggeria.


Post: 3.673
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
03/01/2024 13:01

ciao
il link che hai sottoposto al post #3 funziona perfettamente, lo hai provato?

saluti




Domenico
Win 10 - Excel 2016
03/01/2024 13:13

Ciao,

sono rimasto fermo perché nel frattempo ho visionato gli altri link purtroppo tutti in inglese e li ho dovuti tutti tradurre in italiano.

Sono contento che tu lo abbia già testato e che funzioni perfettamente.

Nel pomeriggio mi metto a fare anch'io qualcosa e poi se sei disponibile ne possiamo discutere.

Grazie



Post: 3.674
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
03/01/2024 13:26

ciao
prova a buttare giù qualcosa e se non va, sottoponi quanto hai fatto e vedremo di arrivare in fondo.

C'è poco da fare, quel codice lo lasci inalterato, ti crei una macro che alimenta un array con il percorso e nome dei file da unire, crei una variabile con percorso e Nuovo nome da assegnare ai file uniti e passi il tutto a quel codice.....

saluti






[Modificato da dodo47 03/01/2024 13:28]
Domenico
Win 10 - Excel 2016
03/01/2024 13:39

Anche a me funziona perfettamente.

A questo punto volevo vedere come fare per unire due file.pdf salvati in due cartelle diverse:

File1.pdf salvato nella cartella1
File2.pdf salvato nella cartella2.

Entrambe le cartelle sono su dektop.
Post: 3.675
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
03/01/2024 16:11

ciao
visto che "anche a te funziona perfettamente", basta che indichi i due percorsi nelle tue due celle.
Qual è il problema?

Intanto, se vuoi, sottoponi a beneficio di altri la procedurina con la quale passi i valori alla Private Function MergePDFs di quel sito.

saluti




Domenico
Win 10 - Excel 2016
03/01/2024 16:35

Il problema è che mi sono fermato al semplice codice del link.
Post: 3.676
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
03/01/2024 16:49

...quindi non ti funziona perfettamente...perchè quella Routine da sola non funziona in quanto non è eseguibile

Hai almeno un'idea di come si passino i parametri che una Function richiede?



[Modificato da dodo47 03/01/2024 16:53]
Domenico
Win 10 - Excel 2016
03/01/2024 16:58

Forse non mi sono spiegato il codice funziona perchè l'ho testato.

Se ti riferisci al seguito del tuo post sono fermo.

Nel Link oltre alla funzione c'è anche una sub che ho inserito.

Ho messo sul foglio1 il pulsante con la macro e i due file si uniscono in un nuovo file.pdf uno a seguire l'atro.

Questa è la sub

Sub Combine_PDFs_Demo()
Dim strPDFs(1 To 2) As String
Dim bSuccess As Boolean

strPDFs(1) = "C:\Users\User\Desktop\UnirePdf\File1.pdf"
strPDFs(2) = "C:\Users\User\Desktop\UnirePdf\File2.pdf"

bSuccess = MergePDFs(strPDFs, "C:\Users\User\Desktop\UnirePdf\NuovoPDF.pdf")

If bSuccess = False Then MsgBox "Impossibile combinare tutti i PDF", vbCritical, "Impossibile unire i PDF"

End Sub


C'è bisogno di altro da fare?
[Modificato da rex88 03/01/2024 17:08]
Post: 3.677
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
03/01/2024 17:03

Re:
rex88 (nTdQ231201), 03/01/2024 16:58:

Forse non mi sono spiegato il codice funziona perchè l'ho testato.



Quindi se lo hai testato hai creato un sub che gli passa i parametri perchè, ripeto, quella macro da sola non funziona.

Pertanto non capisco quale sia la difficoltà se i due file da unire sono in cartelle diverse; basta che nel tuo foglio indichi i percorsi dei due file e li passi a quella Routine



[Modificato da dodo47 03/01/2024 17:04]
Domenico
Win 10 - Excel 2016
03/01/2024 17:12

In effetti il codice si limita semplicemente ad unire due file.pdf che sono inseriti nella stessa cartella

E tu mi confermi che va bene.

Adesso sto vedendo come fare per unire due file.pdf salvati in due cartelle diverse.

Post: 3.678
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
03/01/2024 17:21

Re:
rex88 (nTdQ231201), 03/01/2024 17:12:

In effetti il codice si limita semplicemente ad unire due file.pdf che sono inseriti nella stessa cartella



Non è così....
Il codice unisce i file che tu gli passi, siano essi nello stesso percorso che in percorsi diversi.

Sarebbe più corretto che tu dicessi che non sei stato in grado di farlo funzionare oppure che mostrassi come lo hai fatto funzionare visto che da solo non funziona ( e tre).

saluti
[Modificato da dodo47 03/01/2024 17:33]
Domenico
Win 10 - Excel 2016
Post: 3.679
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
03/01/2024 17:55

eh, ma se tu fai le correzioni dei post dopo che ti ho risposto, come faccio a sapere quel che fai?

Comunque bene quanto hai aggiunto al post #22.

Pertanto hai risolto in autonomia, in quanto basta cambiare strPDFs(1) oppure strPDFs(2) con i relativi percorsi.

saluti




[Modificato da dodo47 03/01/2024 17:56]
Domenico
Win 10 - Excel 2016
03/01/2024 18:48

Quando ho modificato il mio post ci siamo accavallati e non ho visto quello che mi avevi scritto prima.

E di questo ti chiedo scusa.

Mi dispiace per l'incomprensione ma spero che tu mi creda.

Comunque onestamente quello che ho fatto l'ho rilevato dal link che ho segnalato nel forum dove a metà pagina c'è riportata la sub che ho scritto nel precedente post e che io ho adattato al mio file.

Non voglio passare per quello che non sono, mi dispiacerebbe.

Grazie.

rex88

03/01/2024 19:42

Per quanto riguarda i due percorsi ho modificato la macro in questo modo:

Sub Combine_PDFs_Demo()
Dim strPDFs(1 To 2) As String
Dim bSuccess As Boolean

strPDFs(1) = "C:\Users\User\Desktop\UnirePdf\2022\File1.pdf"
strPDFs(2) = "C:\Users\User\Desktop\UnirePdf\2023\File2.pdf"

bSuccess = MergePDFs(strPDFs, "C:\Users\User\Desktop\UnirePdf\NuovoPDF.pdf")

If bSuccess = False Then MsgBox "Impossibile combinare tutti i PDF", vbCritical, "Impossibile unire i PDF"

End Sub


Grazie

rex88
03/01/2024 20:20

La macro consente di unire due file.pdf definiti (File1 e File2), ma se volessimo per esempio unire un Filex e un Filey come dovremo strutturarla?

Mettendo per esempio su una userform una CB che seleziona la cartella 1 e una TB che riporta il Filex e una CB che seleziona la cartella 2 e una TB che riporta il Filey per poi unirli con una macro posta su un pulsante.

E' una cosa fattibile?


Post: 3.680
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
04/01/2024 10:51

Re:
rex88 (nTdQ231201), 03/01/2024 20:20:

E' una cosa fattibile?




Certamente....prova a sottoporre un esempio di come hai strutturato il foglio, la UserForm e i tentativi che hai fatto per alimentare le Combo e le textBox.

Ma siamo sicuri che i file da unire siano sempre e solo 2 ??

Altrimenti si dovrebbe ipotizzare qualcosa di diverso.

saluti
Domenico
Win 10 - Excel 2016
Vota:
Amministra Discussione: | Riapri | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 2 3 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 00:53. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com