È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 2 3 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

[RISOLTO] Cercare file pdf in C:\ e inserirli in listbox su userfom

Ultimo Aggiornamento: 05/03/2024 09:47
23/02/2024 10:35

Su una userform ho inserito una listbox.
Con un pulsante dovrei aprire in C:\ la cartella "PDF" e caricare nella listbox i file pdf che si trovano nelle sottocartelle "PDF1" e "PDF2".


Allego il file.
[Modificato da rex88 23/02/2024 10:48]
23/02/2024 11:17

Ho provato con questa sub, ma non ci sono riuscito:

Sub cmdCercaPdf_Click()
Dim Filename As String
Filename = Dir("C:\PDF" & "\*.pdf", vbNormal)
Do While Len(Filename) > 0
Me.ListBox1.AddItem Filename
Filename = Dir()
Loop
End Sub
Post: 5.067
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
23/02/2024 11:39

A me funziona perfettamente

Alfredo
23/02/2024 11:52

Ho provato e riprovato ma a me non funziona.

Questo è il file con la sub sul pulsante "Cerca Pdf".
Post: 5.068
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
23/02/2024 11:57

Anche con il tuo file funziona perfettamente

Alfredo
23/02/2024 12:03

Ho caricato il dìfile su un altro Pc ma non funziona ugualmente.
Post: 5.069
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
23/02/2024 12:09

Questo è il tuo file; io ho solo modificato la directory nel codice

[Modificato da alfrimpa 23/02/2024 12:11]

Alfredo
Post: 3.748
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
23/02/2024 12:21

Re:
rex88 (nTdQ231201), 23/02/2024 10:35:

Su una userform ho inserito una listbox.
Con un pulsante dovrei aprire in C:\ la cartella "PDF" e caricare nella listbox i file pdf che si trovano nelle sottocartelle "PDF1" e "PDF2".




Ma se i file stanno nelle sottocartelle di C:\PDF, devi cercare in c:\pdf\pdf1 e in c:\pdf\pdf2

A parte questo, la macro (opportunamente adattata) funziona perfettamente come dice Alfredo ...byby

saluti




[Modificato da dodo47 23/02/2024 12:23]
Domenico
Win 10 - Excel 2016
23/02/2024 12:35

Penso che voi mi crediate.

La macro così comne l'ho scritta non funziona.

Clicco sul pulsante e non si attiva.
Post: 1.211
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
23/02/2024 12:54

Ciao a tutti
Credo che occorra qualche precisazione. Quando dici "non funziona" coloro ai quali la macro esegue il suo lavoro non possono capire quale sia l'errore. Dovresti spiegarlo meglio. Che errore ti dà? Si blocca in qualche punto specifico? esegue un lavoro "sbagliato"?
Grazie e ciao,
Mario
[Modificato da Marius44 23/02/2024 12:55]
23/02/2024 13:07

Come ho detto nel precedente post clicco sul pulsante "Cerca Pdf" che si trova sulla UserForm1 e non si attiva (uso il termine attiva per dire che la macro non fa niente).

Quando vado in vba e apro la macro
Sub cmdCreaPdf_Click()
il mouse si posiziona all'inizio di
Dim Filename As String.

Ho aperto anche la dinestra immediata ma non succede niente.

Clicco su F5 e mi rimanda alla UserForm1.

EDIT

Mi scuso con Alfredo.

Ho trovato l'inghippo.

La sub cerca solo nella cartella "C:\PDF".

Quindi ho spostato un file pdf dalla cartella "PDF" direttamente in C:\ e funziona.

Però adesso dovrei implementare la sub con una istruzione che cerchi tutti i file pdf nelle due sottocartelle "PDF1" e "PDF2" che si trovano nella cartella "C:\PDF" e li inserica nella listbox.

In rete ho trovato queste due sub da adattare.

Sub Esegui()
ShowFolderList ("C:\PDF")
End Sub


e

Sub ShowFolderList(folderspec)
Dim fs, f, f1, fc, s, sFldr
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.SubFolders
For Each f1 In fc
If Right(f1, 1) <> "\" Then ShowFolderList f1 & "\" Else ShowFolderList f1
Next
Set fc = f.Files
For Each f1 In fc
Debug.Print folderspec & f1.Name
Next
End Sub


Di nuovo scusa.
[Modificato da rex88 23/02/2024 13:29]
Post: 1.212
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
23/02/2024 15:00

Ciao
Intanto abbiamo trovato un primo errore. Bene.
Andiamo avanti con la tua nuova richiesta.
Hai letto il post #8 di @dodo47 (ciao Domenico) ?

Ciao,
Mario

PS - Se non vado errato la seconda macro non c'entra nulla con il popolamento della List. Quella macro credo cerchi un dato DENTRO un file.
[Modificato da Marius44 23/02/2024 15:02]
23/02/2024 15:06

Ciao,

se ti riferisci a questa parte xdel post di Domenico "la macro (opportunamente adattata)" è quello che sto cercando di fare e se mi sono rivolto agli Esperti è perchè non ci sono ancora riuscito da solo.

EDIT

Ho aperto la discussione con questo post:

Con un pulsante dovrei aprire in C:\ la cartella "PDF" e caricare nella listbox i file pdf che si trovano nelle sottocartelle "PDF1" e "PDF2".

Questo è quanto sto cercando di fare.
[Modificato da rex88 23/02/2024 15:09]
Post: 1.213
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
23/02/2024 15:09

Ciao
Si, mi riferisco all' "adattamento"

@dodo47 dice:

Ma se i file stanno nelle sottocartelle di C:\PDF, devi cercare in c:\pdf\pdf1 e in c:\pdf\pdf2

ed a me sembra abbastanza chiaro. Cosa non ti riesce?
Ciao,
Mario
23/02/2024 15:16

Non riesco ad adattare la sub a questo:

dovrei implementare la sub con una istruzione che cerchi tutti i file pdf nelle due sottocartelle "PDF1" e "PDF2" che si trovano nella cartella "C:\PDF" e li inserica nella listbox.

Post: 1.214
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
23/02/2024 15:31

Ciao
Nella macro che hai pubblicato al post #2 c'è questo rigo di codice
Filename = Dir("C:\PDF" & "\*.pdf", vbNormal)
E' questo il rigo che devi adattare. Ti consiglio di adattarlo per una cartella alla volta.
@dodo47 diceva:

devi cercare in c:\pdf\pdf1 e in c:\pdf\pdf2


Prova con attenzione. Non mi sembra difficile.
Ciao,
Mario
23/02/2024 15:49

E' proprio quello che devo fare e che non so fare anche se per voi è una cosa banale/semplice/ecc..

EDIT

Devo inserire in questo:
Filename = Dir("C:\PDF" & "\*.pdf", vbNormal)

PDF1 e PDF2
[Modificato da rex88 23/02/2024 15:53]
Post: 1.215
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
23/02/2024 16:06

Ciao
Si, esatto. E' quello che devi fare.
Tu hai questa riga
Filename = Dir("C:\PDF" & "\*.pdf", vbNormal)
@dodo47 suggerisce:
cercare in c:\pdf\pdf1 e in c:\pdf\pdf2
ora, prendili uno per volta e sostituisci quella parte nella riga di codice.
Prova ancora. Ciao,
Mario

PS - Si, per noi è facile ma quando imparavamo ci abbiamo sbattuto la testa tantissime volte.
Se vuoi imparare non devi aspettarti che si faccia il lavoro al posto tuo. Sei d'accordo?
23/02/2024 16:11

D'accordo.

Però a forza di sbattere la testa contro il muro due sono le cose: o si fa un buco nel muro, il che è difficile, oppure ci si rompe la testa.

E poi nel frattempo che ci scriviamo continuo a visionare quello che ho trovato in rete anche in inglese.

Grazie comunque per i preziosi consigli.

EDIT

Come fare con una sottocartella l'ho chiaro, ma mettere insieme nello stessa sub le due sottocartelle no.

Tutto qui.
[Modificato da rex88 23/02/2024 16:17]
Post: 1.216
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
23/02/2024 16:25

Ciao
Fai prima popolare la List con una sottocartella e, nella stessa macro, a seguire fai leggere la seconda sottocartella.
Adesso scappo coi nipotini. E' ora dei compiti.
Ciao,
Mario
23/02/2024 17:14

Ho fatto parzialmente inserendo la sottocartella "PDF1" e funziona:

Sub cmdCercaPdf_Click()
Dim Filename As String
Filename = Dir("C:\PDF\PDF1" & "\*.pdf", vbNormal)
Do While Len(Filename) > 0
Me.ListBox1.AddItem Filename
Filename = Dir()
Loop
End Sub


Mi rimane da inserire nella sub l'altra sottocartella "PDF2".
Post: 1.217
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
23/02/2024 18:03

Ciao
Bimbi andati via.

E se inserissi da riga 3 a riga 7 un'altra volta, prima di End Sub, cambiando la subcartella cosa pensi che succederebbe?

Ciao,
Mario
23/02/2024 18:17

Succederebbe, come è successo, che nella listbox vengono riportati tutti i file pdf salvati nelle due sottocartelle.

Grazie per la guida passo-passo.

Alla prossima.

Per me è risolto.

Saluti

rex88


Post: 1.218
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Veteran
Excel2019
OFFLINE
23/02/2024 18:24

Ciao
Ho voluto seguirti passo-passo per dimostrarti che sei tu ad essere disattento e non leggere i suggerimenti che via via arrivano. Se fossi stato più attento questa discussione (ma anche tutte le altre che hai aperto) avrebbe avuto 3 o 4 post e ... non ti saresti spaccata la testa😁

Son contento per te. Ciao,
Mario
23/02/2024 19:36

Ciao,

farò tesoro dei tuoi consigli e di quanti sono intervenuti.

Ho sempre da imparare.

Grazie a tutti.

Per me è risolta.

Saluti

rex88
25/02/2024 17:04

Per alfrimpa,

cortesemente mi potresti allegare in questa discussione il tuo foglio da utilizzare per compilare una dichiarazione di conformità?

Ho girato nelle mie discussioni ma non riesco a trovarlo.

Te ne sarei particolamente grato.

Grazie

rex88

EDIT

Voglio vedere se riesco a fare una versione con Acrobat Reader.
[Modificato da rex88 25/02/2024 17:17]
27/02/2024 16:18

Alfrimpa,

scusami se sono nuovamente a chiedere una copia del tuo foglio.

Non so cosa è successo ma io non lo trovo più.

Anche se non vi è alcun obbligo di risposta, rimango in attesa e qualunque essa sia ne prenderò atto.

Grazie.
Post: 5.070
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
27/02/2024 16:33

Il file va completato (è fatto circa al 50%) ed una volta fatto vanno inserite formule e/o automatismi per la sua compilazione prima della sua esportazione in PDF.

In sostanza tutti i dati che inserirai nella userform andranno trasferiti sul foglio della dichiarazione.

Sei in grado di farlo?

E poi perchè me lo chiedi? Non avevi risolto il problema dei PDF editabili?
[Modificato da alfrimpa 27/02/2024 17:13]

Alfredo
27/02/2024 17:35

Ciao Alfredo,

ci provo.

Grazie

EDIT

Come ho detto nel precedente post voglio vedere se riesco a fare una versione del file con Acrobat Reader.

rex88
[Modificato da rex88 27/02/2024 17:37]
Post: 1.174
Registrato il: 02/04/2018
Città: PESCARA
Età: 75
Utente Veteran
EXCEL 2016 - SPREAD32
ONLINE
27/02/2024 21:40

LE COMUNICAZIONI PERSONALI DEVONO ESSERE FATTE ESCLUSIVAMENTE VIA MAIL

AL MASSIMO SI PUO' TOLLERARE CHE VENGANO FATTE NELLA PROPRIA DISCUSSIONE ATTIVA

CHIARO ?

LEO
https://t.me/LordBrum
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]
macro canc (3 messaggi, agg.: 02/12/2017 23:17)
Aperture file kml o kmz (7 messaggi, agg.: 14/06/2019 20:15)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 18:58. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com