VBA / VB6 - Documenti personali + Variabili d'ambiente

Il percorso della cartella "Documenti" contiene un componente nome utente variabile e cambia da un utente a un altro. È possibile scrivere un codice in VBA o VB6 per accedere alla cartella "Documenti" indipendentemente dal nome utente, con l'aiuto di funzioni che possono leggere le variabili di ambiente in VB6 . Come per ogni linguaggio di programmazione, la scrittura di codice in VB6 o VBA richiede la conoscenza dei concetti di programmazione di base incluse subroutine, loop e specifiche funzioni VB6. Le funzioni di ambiente come Environ $ che riceve il valore di una variabile di ambiente, possono essere utilizzate per scrivere un codice per leggere le variabili di ambiente in VB6 .

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 String

sPathUser = 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.

Nota che:

Se si è effettuato l'accesso come amministratore, le modifiche possono essere apportate tramite Pannello di controllo / Sistema avanzato / Variabili di ambiente.
Articolo Precedente Articolo Successivo

I Migliori Consigli