VBA / VB6 - mano dokumentai + aplinkos kintamieji
Kaip parodyta „Windows Explorer“, aplanke „Mano dokumentai“ yra šaknis, tačiau taip nėra. Jis yra C: dokumentų ir parametrų pakatalogyje. Problema ta, kad šis pakatalogis užima vartotojo vardą ir keičiamas ne tik iš vieno kompiuterio į kitą, bet ir į kompiuterius, palaikančius kelis vartotojus.
Toliau pateikiami kodai suteikia galimybę pagal nutylėjimą pasiekti aplanką „Mano dokumentai“, nepriklausomai nuo vartotojo prisijungimo.
Su VBA
Tiesiog įklijuokite šį kodą į bendrą modulį:Galimybė aiški
Privatus tipas SHITEMID
cb kaip ilgai
abID Kaip baitas
Pabaigos tipas
Privatus tipas ITEMIDLIST
mkid As SHITEMID
Pabaigos tipas
Asmeninis Const CSIDL_PERSONAL Kaip ilgas = & H5
Privatus deklaravimas Funkcija SHGetSpecialFolderLocation Lib "shell32.dll" _
(ByVal hwndOwner kaip ilgas, byVal nFolder As Long, _
pidl As ITEMIDLIST) Kaip ilgai
Privačios deklaracijos funkcija SHGetPathFromIDList Lib "shell32.dll" slapyvardis "SHGetPathFromIDListA" _
ByVal pidl As Long, ByVal pszPath Kaip eilutė kaip ilgai
Viešoji funkcija Rep_Documents () Kaip eilutė
Dim lRet As Long, IDL Kaip ITEMIDLIST, sPath As String
lRet = SHGetSpecialFolderLocation (100 ir, CSIDL_PERSONAL, IDL)
Jei lRet = 0, tada
sPath = String $ (512, Chr (0))
lRet = SHGetPathFromIDList (ByVal IDL.mkid.cb, ByVal sPath)
Rep_Documents = Left $ (sPath, InStr (sPath, Chr $ (0)) - 1)
Kitas
Rep_Documents = vbNullString
Baigti Jei
Pabaigos funkcija
Jei norite skambinti funkcijai, tiesiog sukurkite mygtuką ir įklijuokite šį kodą:
Privatus subkomandasButton1_Click ()
Ląstelės (5, 2) = Rep_Documents ()
Pabaiga
Su VB6
Pagal VB6 naudokite aplinkos kintamąjį UserProfile (tai taip pat veikia su VBA):Išmeskite sPathUser kaip eilutęsPathUser = Aplinka $ („USERPROFILE“) ir „mano dokumentai“
MsgBox sPathUser
Aplinkos funkcijos
Funkcija „Environ $“ naudojama norint gauti aplinkos kintamojo vertę.Pvz., Kai naudojote WINDIR komandą („Windows“), turėtumėte gauti aplanką, kuriame įdiegta „Windows“ (C: Windows).
Šie kintamieji gali būti naudojami paketinėse rinkmenose, naudodami „Run“ programą ir programavimo aplinkoje, pvz., „VB“ ir „VBA“.
- Įveskite% UserProfile% nuoroda į dabartinį naudotoją.
- Įveskite% UserProfile% Mano dokumentai nurodo aplanką „Mano dokumentai“.
- Rašant% WinDir% gaunamas Windows aplankas.
- Rašant% tmp% suteikia prieigą prie laikinų failų.
Windows kintamieji
- Numatytojo naudotojo kintamieji
- TEMP laikinas katalogas
- TMP laikinasis katalogas
- Sistemos kintamieji
- ComSpec kintamas kelias komandų eilutei.
- FP_NO_HOST_CHECK?
- NUMBER_OF_PROCESSORS?
- OS grąžina naudojamą OS.
- Kelias?
- PATHEXT?
- PROCESSOR_ARCHITECTURE Grąžina procesoriaus architektūrą (x86 ir tt ...)
- PROCESSOR_IDENTIFIER Grąžina procesoriaus ID.
- PROCESSOR_LEVEL?
- PROCESSOR_REVISION Grąžina procesoriaus pakeitimų skaičių
- TEMP laikinas katalogas.
- TMP laikinasis katalogas.
- „Windir“ aplankas, kuriame įdiegta „Windows“.
- „SystemRoot“ aplankas, kuriame įdiegta „Windows“.