Risolto Crea cartelle .... con campo prelevato da tabella

Piero_Bo

Utente abituale
3 Gennaio 2017
375
18
Emilia Romagna
Excel 2013
16
Sera a tutti, uso il codice in allegato per creare cartella principale e sottocartelle se serve:
Visual Basic:
Private Sub Crea_Cartella_Click()
Dim percorsoDir As String
percorsoDir = " & [Perc]\ " & [CartellaCliente] 'Come lo scrivo non funziona, e va in debug evidenziando di giallo la stringa MkDir percorsoDir
If Dir(percorsoDir, vbDirectory) <> "" Then
Else
MkDir percorsoDir

End If
Call SottoCartella_1
Call SottoCartella_2
Call SottoCartella_3
Call SottoCartella_4
Call SottoCartella_5

End Sub
Se al posto di [Perc] inserisco il percorso in modalità normale D:\blablabla\ funziona e con il campo non riesco ?

Visual Basic:
'Crea cartelle
Private Sub Crea_Cartella_Click()
Dim percorsoDir As String
percorsoDir = "D:\BlaBlaBla\ " & [CartellaCliente]
If Dir(percorsoDir, vbDirectory) <> "" Then
Else
MkDir percorsoDir

End If
'Call SottoCartella_1
'Call SottoCartella_2
'Call SottoCartella_3
'Call SottoCartella_4
'Call SottoCartella_5

End Sub
 

Piero_Bo

Utente abituale
3 Gennaio 2017
375
18
Emilia Romagna
Excel 2013
16
I valori che conteno corrispondono al vero


Sto provando ad automatizzare il tutto nel DB che ho creato anni fa, se devo diventare deficente lascio stare, e faccio alla vecchia maniera copia e incolla da esplora risorse :)

Avevo già visto quel link ... volevo provare di fargli creare cartelle e sottocartelle in modo dinamico come nell'altro post dove mi hai dato una mano.

Fargli creare le cartelle con l'url normale sono capace, idem le sottocartelle, chissà se riesco a dirgli di non crearla se manca la compilazione di qualche campo ... come ad esempio Gruppo o variabile :)

Grazie per adesso ..
 

CarlettoFed

Utente abituale
19 Luglio 2017
153
18
Narni
2003
5
Codice:
Private Sub Crea_Cartella_Click()
Dim percorsoDir As String
     percorsoDir = [Perc] & " \ " & [CartellaCliente]
     If Dir(percorsoDir, vbDirectory) <> "" Then
          ...........
     Else
          MkDir percorsoDir
     End If

End Sub
 
Ultima modifica di un moderatore:

Piero_Bo

Utente abituale
3 Gennaio 2017
375
18
Emilia Romagna
Excel 2013
16
Grazie Carletto, ci avevo provato anchio cosi e non funziona:

Impossibile trovare il percorso, e si evidenzia MkDir percorsoDir andando in debug

Gli da il mal di stomaco il percorso iniziale tra le [ ]
 

CarlettoFed

Utente abituale
19 Luglio 2017
153
18
Narni
2003
5
Scusa ma modificando il tuo codice non avevo fatto caso agli spazi, questo è il codice modificato:
Visual Basic:
Private Sub Crea_Cartella_Click()
Dim percorsoDir As String
     percorsoDir = [Perc] & "\" & [CartellaCliente]
     If Dir(percorsoDir, vbDirectory) <> "" Then
          MsgBox "La cartella " & [CartellaCliente] & " esiste ed il suo percorso completo è il seguente:" & vbcr & vbcr & percorsoDir
     Else
          MkDir percorsoDir
     End If
End Sub
 

Piero_Bo

Utente abituale
3 Gennaio 2017
375
18
Emilia Romagna
Excel 2013
16
Grazie Carletto, questo funziona ... io per aggiungere altre sotto directory creo altre eventi con il richiamo CALL.

Hho provato a farne fare una dopo quella del tuo post ma solito problema, errore di percorso .. dove sbaglio ?


Visual Basic:
'Crea cartella
Private Sub Crea_Cartella_Click()
Dim percorsoDir As String
     percorsoDir = [Perc] & "\" & [CartellaCliente]
     If Dir(percorsoDir, vbDirectory) <> "" Then
          MsgBox "La cartella " & [CartellaCliente] & " esiste ed il suo percorso completo è il seguente:" & vbCr & vbCr & percorsoDir
     Else
          MkDir percorsoDir
     End If
    Call SottoCartella_1
     
End Sub

Private Sub SottoCartella_1()
Dim percorsoDir1 As String
 percorsoDir1 = [Perc] & "\" & [CartellaCliente] & "\" & [Gruppo]
     If Dir(percorsoDir1, vbDirectory) <> "" Then
          MsgBox "La cartella " & [Gruppo] & " esiste ed il suo percorso completo è il seguente:" & vbCr & vbCr & percorsoDir1
     Else
          MkDir percorsoDir1
     End If
End Sub
 

CarlettoFed

Utente abituale
19 Luglio 2017
153
18
Narni
2003
5
Visual Basic:
Private Sub Crea_Cartella_Click()
Dim percorsoDir As String
    percorsoDir = [Perc] & "\" & [CartellaCliente]
Riprendi:
    If Dir(percorsoDir, vbDirectory) <> "" Then
        MsgBox "La cartella " & percorsoDir & " esiste già"
    Else
        MkDir percorsoDir
    End If
    If Not IsNull([Gruppo]) Then
        percorsoDir = [Perc] & "\" & [CartellaCliente] & "\" & [Gruppo]
        GoTo Riprendi
    End If
End Sub
 

Piero_Bo

Utente abituale
3 Gennaio 2017
375
18
Emilia Romagna
Excel 2013
16
Grazie di nuovo Carletto, stasera provo.
Nel caso in cui vorrei aggiungere ulteriori cartelle, copio e incollo la parte nuova dopo l’ultimo END IF, cioè da IF NOT ...A ... END IF cambiando i campi, che in questo caso è [GRUPPO] ?

In un altro DB dove io percorso iniziale era D:\ mi è bastato fare come nel esempio che ho messo e richiamandolo con il CALL
 

CarlettoFed

Utente abituale
19 Luglio 2017
153
18
Narni
2003
5
Per darti una risposta sicura è necessario conoscere lo scenario completo su cui stai lavorando.
Ovvero:
in quale momento hai la necessità di creare la cartella e la eventuale sottocartella​
potrebbero esserci sottocartelle concatenate (es. ...\cartella\sottocartella\sottocartella\...​
 

Piero_Bo

Utente abituale
3 Gennaio 2017
375
18
Emilia Romagna
Excel 2013
16
Per darti una risposta sicura è necessario conoscere lo scenario completo su cui stai lavorando.
Ovvero:
in quale momento hai la necessità di creare la cartella e la eventuale sottocartella​
potrebbero esserci sottocartelle concatenate (es. ...\cartella\sottocartella\sottocartella\...​
Quando inserisco un nuovo record di creazione schedario disegno e relativi utensili di lavoro.

Il disegno puó essere lavorato su varie macchine e relativi percorsi di pc salvati i file dei cnc

Vari clienti ...

Ogni disegno viene salvato in un albero di cartelle e sottocartelle

Pc/cliente/gruppo/disegno/macchina/e infibe variabile

Se manca ad esempio gruppo non deve fare la cartella gruppo e proseguire ...
 

Piero_Bo

Utente abituale
3 Gennaio 2017
375
18
Emilia Romagna
Excel 2013
16
Ho risolto creando una cartella nel NAS e cambiando il path inziale nel codice + il concatenamento dei campi interessati mi crea cartella e sottocartelle con dei richiami a delle SUB

Il primo pezzo della PATH in modo assoluto , poi tutto il resto dinamico ad esempio "\\NaS\ " [campo] .....
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!