Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

selezionare un file random

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

selezionare un file random

Postdi wallace&gromit » 04/03/16 17:28

Ciao,
con un pulsante vorrei fare partire dei suoni selezionando a caso un file contenuto nella sottocartella "temp" (ogni file un suono diverso).
Sono arrivato al punto in cui conto quanti file ci sono e scelgo un numero a caso, che rappresenta la posizione del mio file nella cartella, ma poi non riesco a selezionare il nome corrispondente a questo numero, per lanciare la macro che esegue il suono.

Codice: Seleziona tutto
Private Sub CommandButton15_Click()
Dim Perc, MioFile
Perc = ThisWorkbook.Path & "\temp"
MioFile = Perc & "\" & "*.*"
MyName = Dir(MioFile, vbDirectory)
rg = 0
Do While MyName <> ""
If MyName = ".." Then GoTo lab1
rg = rg + 1
lab1: MyName = Dir
Loop
rg = rg - 1
NBrano = Int(rg * Rnd + 1)
Brano = "x" '?????
Call suonaSpeciali(Brano, Perc)
End Sub
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1420
Iscritto il: 16/01/12 14:21

Sponsor
 

Re: selezionare un file random

Postdi Anthony47 » 04/03/16 20:01

Io, in modo preventivo e magari solo all'apertura del file, mi creerei l'elenco dei file disponibili, poi sceglierei in questo elenco.
Ad esempio:
Codice: Seleziona tutto
Sub listfiles()
Dim Perc, myDest As Range, I As Long
'
Set myDest = Sheets("Foglio2").Range("A:A")     '<<< La colonna in cui sara' costruito l'elenco
Perc = ThisWorkbook.Path & "\ImmaginiZCZC\"  '<<< La tua SubDir 
'
myDest.ClearContents
'MioFile = Perc & "*.*"
I = 1
myname = Dir(Perc & "*.*", 0)
Do
    I = I + 1
    If myname = "" Then Exit Do
    myDest.Cells(I, 1).Value = Perc & myname
    myname = Dir
Loop
myDest.Cells(1, 1) = I - 1
End Sub

Personalizza le righe marcate <<< e manda in esecuzione.
In testa all'elenco sara' indicata l'ultima riga popolata, quindi dovrai scegliere un numero tra 2 e quel numero e leggere le riga corrispondente; ma questo mi pare che sai farlo...

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

Re: selezionare un file random

Postdi wallace&gromit » 05/03/16 10:31

grazie mille, hai stravolto il mio concetto, ma come sempre hai trovato una soluzione molto più semplice rispetto alle mie elucubrazioni.

Per il resto spero anche io di essere capace, in prima battuta non è funzionato il passaggio del random, ma ci riproverò e devo riuscirci!
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1420
Iscritto il: 16/01/12 14:21

Re: selezionare un file random

Postdi wallace&gromit » 05/03/16 16:15

troppa grazia!
non avevo fatto caso che la tua macro compilava il percorso completo del file, io lo aggiungevo in più nella mia macro e quindi non funzionava.

Risolto.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1420
Iscritto il: 16/01/12 14:21


Torna a Applicazioni Office Windows


Topic correlati a "selezionare un file random":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti

cron