Perché appesantire un'applicazione con riferimenti a dll esterne? Un mkdir può andare più che bene; certamente in mancanza di blocchi try ... catch si potrebbe fare così:
codice:
ChDir App.Path
On Error Resume Next 'nel caso la dir esista gia'
MkDir "pippo" 'piu' semplice di cosi'......
If err.number=<codice di errore di "cartella già esistente"> then exit sub
On Error Resume 0
Così da evitare di inserire codice di gestione di errori tra altre istruzioni e comunque da gestire l'eventuale errore.
Certamente un approccio ancora migliore è il seguente:
codice:
ChDir App.Path
If DirExists("pippo") then exit sub
MkDir "pippo"
E questa è la funzione DirExists:
codice:
Public Function DirExists(ByVal Path As String) As Boolean
On Error Resume Next
'Legge l'attributo e si assicura che si tratti di una directory
FileExists = GetAttr(Path) And vbDirectory
'Se avviene un errore la Function restituisce False
End Function
Si tratta di un approccio estremamente furbo, ma non è farina del mio sacco: è tratto da "Francesco Balena - I trucchi di Visual Basic 6 - Mondadori Informatica".