|
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
|