VBA / VB6 - Minu dokumendid + keskkonnamuutujad
Nagu kuvatakse Windows Exploreris, näib kausta Minu dokumendid olevat juured, kuid see pole nii. See asub C: dokumentide ja sätete alamkataloogis. Probleem on selles, et see alamkataloog võtab kasutaja nime ja seda ei muudeta mitte ainult ühest arvutist teise, vaid ka arvukaid kasutajaid toetavatele arvutitele.
Järgmised koodid võimaldavad vaikimisi avada kausta Minu dokumendid olenemata sellest, kas kasutaja on sisse loginud.
VBA-ga
Lihtsalt kleepige järgmine kood üldmoodulisse:Valik Selgesõnaline
Privaatne tüüp SHITEMID
cb nii kaua
abID Baidina
Lõpp-tüüp
Privaatne tüüp ITEMIDLIST
mkid Nagu SHITEMID
Lõpp-tüüp
Privaatne Const CSIDL_PERSONAL Nagu pikk = & H5
Eraldi deklareerimise funktsioon SHGetSpecialFolderLocation Lib "shell32.dll" _
(ByVal hwndOwner nii kaua, ByVal nFolder Long Long, _
pidl Nagu ITEMIDLIST) nii kaua
Eraldi deklareerimise funktsioon SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" _
ByVal pidl Nii kaua, ByVal pszPath kui stringina nii kaua
Avalik funktsioon Rep_Documents () Stringina
Dim lRet nii kaua, IDL kui ITEMIDLIST, sPath as String
lRet = SHGetSpecialFolderLocation (100 &, CSIDL_PERSONAL, IDL)
Kui lRet = 0 Seejärel
sPath = String $ (512, Chr (0))
lRet = SHGetPathFromIDList (ByVal IDL.mkid.cb, ByVal sPath)
Rep_Documents = Vasak $ (sPath, InStr (sPath, Chr $ (0)) - 1
Veel üks
Rep_Documents = vbNullString
Lõpeta kui
Lõppfunktsioon
Funktsiooni helistamiseks looge lihtsalt nupp ja kleepige järgmine kood:
Privaatne alamkomentButton1_Click ()
Rakud (5, 2) = Rep_Documents ()
Lõpeta alam
VB6-ga
VB6 all kasutage keskkonnamuutujat UserProfile (see toimib ka VBA-ga):Dim sPathUser kui stringsPathUser = Keskkond $ ("USERPROFILE") & "minu dokumendid"
MsgBox sPathUser
Keskkonna funktsioonid
Funktsioon Environ $ on kasutatav keskkonnamuutuja väärtuse saamiseks.Näiteks, kui kasutasite WINDIR-käsku (Windows), oleksite saanud kausta, kuhu Windows on installitud (C: Windows).
Neid muutujaid saab kasutada partiifailides, käivitusprogrammi kaudu ja programmeerimiskeskkonnas nagu VB ja VBA.
- Kirjutamine% UserProfile% viitab praegusele kasutajale.
- Kirjutamine% UserProfile% Minu dokumendid viitab kausta Minu dokumendid.
- Kirjutades% WinDir% saab Windowsi kausta.
- % Tmp% sisestamine annab teile juurdepääsu ajutistele failidele.
Windowsi muutujad
- Vaikekasutaja muutujad
- TEMP ajutine kataloog
- TMP ajutine kataloog
- Süsteemi muutujad
- Käsurea ComSpec muutuja rada.
- FP_NO_HOST_CHECK?
- NUMBER_OF_PROCESSORS?
- OS tagastab kasutatava OS.
- Tee?
- PATHEXT?
- PROCESSOR_ARCHITECTURE Tagastab protsessori arhitektuuri (x86 jne ...)
- PROCESSOR_IDENTIFIER Tagastab protsessori ID.
- PROCESSOR_LEVEL?
- PROCESSOR_REVISION Tagastab protsessori muudatuste arvu
- TEMP ajutine kataloog.
- TMP ajutine kataloog.
- Windir kaust, kuhu Windows on installitud.
- SystemRoot kaust, kuhu on installitud Windows.