Domanda.

nome=Francesco
cognome=Greco
versione=2000
conosco3=buono
vba=SI
email=franco.rum@tiscali.it
chra=516
problema=Devo realizzare un programmino in cui l'utente, cliccando un pulsante, apre un nuovo file basato su di un template fornito con lo stesso programmino.
Vorrei creare una macro auto che, lanciato per la prima volta il file, salva automaticamente il file.xlt  nell'apposita
cartella "modelli".
Vorrei sapere quale istruzione utilizzare per identificare il percorso esatto della cartella "Modelli" a prescindere dalla
versione di Office o del sistema operativo.
Grazie 1000
francesco
 

Risposta.

salve Francesco, credo che tu ti trovi di fronte ad un problemino: infatti non esiste una sola cartella Modelli sull'hard-disk, ma molte di più; e per di più questo dipende proprio dal sistema operativo.
In Windows XP per esempio (non ho più Win98 e quindi non so dirti per questo sistema) esistonono:
tre cartelle nascoste Modelli in
C:\Documents and Settings\Default User
C:\Documents and Settings\All User
C:\Documents and Settings\User(Nomeutente)
poi ne esiste una in
C:\Documents and Settings\NomeUtente\Documenti\Modelli
poi ne esiste una in
C:\Documents and Settings\NomeUtente\Dati Applicazioni\Microsoft\Modelli
che è quella in cui viene tenuto il file Normal.dot di Word, ed in cui verrebbe salvato il tuo file .XLT
poi ne esistono altre in Windows/System, più Modelli Stampa, ecc. ecc.

Per cui una soluzione in Windows XP è quella di aggiungere al nome della cartella anche la sottocartella di livello superiore (Microsoft), ma non so se lo stesso percorso verrà trovato anche in Win98, e comunque questa è la routine, provala:

Sub cercacartella()
Dim fs, a
Set fs = CreateObject("Scripting.FileSystemObject")
a = fs.GetAbsolutePathName("Microsoft\Modelli")
MsgBox a
Set fs = Nothing
End Sub


Con la variabile "a" ottieni il percorso, io ti ho messo come restituzione, un messaggio corrispondente ad "a", e vedrai una cosa del genere:

C:\Documents and Settings\NomeUtente\Dati applicazioni\Microsoft\Modelli

Tu con la "a" farai ciò che credi.
Saluti, ennius