2009-06-10 10 views
14

In generale,VBA Come ottenere il percorso nella cartella dei dati dell'applicazione Utenti correnti?

Utilizzo di VBA, come determinare dove si trova la cartella Dati applicazioni utenti correnti?

I FileSystemObjects cartelle speciali conosce solo 3 cartelle

  • WindowsFolder
  • SystemFolder
  • temporaryFolder

In particolare, ho bisogno di una macro di Word per copiare un file nella cartella sotto la cartella Dati dell'applicazione.

ad es. In VB.Net posso usare My.Computer.FileSystem.SpecialDirectories.CurrentUserApplicationData per fare questo

risposta

26

È possibile utilizzare Environ("AppData") per ottenere questo percorso. Environ estrarrà qualsiasi variabile di sistema, che può essere trovata utilizzando il comando set al prompt di DOS.

+0

Non ho mai pensato di controllare le stringhe di Ambiente, questo funziona a meraviglia, grazie :) –

+1

Penso che l'approccio di Environ() non sia affidabile poiché le variabili ambientali possono essere modificate dall'utente e possono portare a risultati imprevisti. L'utilizzo dell'API di Windows potrebbe essere migliore. Ecco un esempio per trovare la cartella Documenti/Documenti: http://dailydoseofexcel.com/archives/2009/02/26/get-the-path-to-my-documents-in-vba/#comment-38211 Se può trovare un modo per farlo per la cartella AppData potrebbe essere un modo migliore. – authentictech

7

Utilizzando advapi32.dll, è possibile ottenere il USERPROFILE via

Environ("USERPROFILE") 

Collegare questo con la directory "Application Data" (che ha uno standard, nome specifico) per ottenere ciò che si vuole

CStr(Environ("USERPROFILE") & "\Application Data") 

Per ulteriori informazioni, controlla MSDN