VBA / VB6 - Documenti personali + Variabili d'ambiente
Come visualizzato in Windows Explorer, la cartella Documenti sembra essere nella directory principale, ma non è questo il caso. Si trova in una sottodirectory di C: \ Documents and Settings. Il problema è che questa sottodirectory prende il nome dell'utente e viene modificata non solo da un PC a un altro, ma anche su PC che supportano più utenti.
I seguenti codici consentono di accedere alla cartella Documenti per impostazione predefinita indipendentemente dall'utente connesso.
Con VBA
Basta incollare il seguente codice in un modulo generale:Opzione esplicita
Tipo privato SHITEMID
cb As Long
abID come Byte
Fine tipo
Tipo privato ITEMIDLIST
mkid As SHITEMID
Fine tipo
Const privato CSIDL_PERSONAL As Long = & H5
Funzione di dichiarazione privata SHGetSpecialFolderLocation Lib "shell32.dll" _
(ByVal hwndOwner As Long, ByVal nFolder As Long, _
pidl As ITIDLIST) As long
Funzione di dichiarazione privata SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" _
ByVal pidl As Long, ByVal pszPath As String As Long
Funzione pubblica Rep_Documents () As String
Dim lRet As Long, IDL As ITIDIDIST, sPath As String
lRet = SHGetSpecialFolderLocation (100 &, CSIDL_PERSONAL, IDL)
Se lRet = 0 Allora
sPath = String $ (512, Chr $ (0))
lRet = SHGetPathFromIDList (ByVal IDL.mkid.cb, ByVal sPath)
Rep_Documents = Left $ (sPath, InStr (sPath, Chr $ (0)) - 1)
Altro
Rep_Documents = vbNullString
Finisci se
Fine Funzione
Per chiamare la funzione, basta creare un pulsante e incollare il seguente codice:
Private Sub CommandButton1_Click ()
Cells (5, 2) = Rep_Documents ()
End Sub
Con VB6
Sotto VB6, usa la variabile d'ambiente UserProfile (questo funziona anche con VBA):Dim sPathUser as StringsPathUser = Environ $ ("USERPROFILE") e "\ my documents \"
MsgBox sPathUser
Funzioni ambientali
La funzione $ Environ è utilizzata per ricevere il valore di una variabile di ambiente.Ad esempio, quando si utilizza il comando WINDIR (Windows), si otterrebbe la cartella in cui è installato Windows (C: \ Windows \).
Queste variabili possono essere utilizzate nei file batch, tramite l'utilità Run e in un ambiente di programmazione come VB e VBA.
- Digitando% UserProfile% si fa riferimento all'utente corrente.
- Digitando% UserProfile% \ My Documents "fa riferimento alla cartella Documenti.
- Digitando% WinDir% si ottiene la cartella Windows.
- Digitando% tmp% puoi accedere ai file temporanei.
Variabili di Windows
- Variabili per l'utente predefinito
- Directory temporanea TEMP
- Directory temporanea TMP
- Variabili di sistema
- Percorso variabile ComSpec per il prompt dei comandi.
- FP_NO_HOST_CHECK?
- NUMBER_OF_PROCESSORS?
- Sistema operativo di reso operativo in uso.
- Sentiero?
- PATHEXT?
- PROCESSOR_ARCHITECTURE Restituisce l'architettura del processore (x86 ecc ...)
- PROCESSOR_IDENTIFIER Restituisce l'ID del processore.
- PROCESSOR_LEVEL?
- PROCESSOR_REVISION Restituisce il numero di revisioni del processore
- Directory temporanea TEMP.
- Directory temporanea TMP.
- cartella windir in cui è installato Windows.
- Cartella SystemRoot in cui è installato Windows.