VBA / VB6 - Omat tiedostot + ympäristömuuttujat
Kuten Windowsin Resurssienhallinnassa näkyy, Omat tiedostot -kansio näyttää olevan juuressa, mutta näin ei ole. Se sijaitsee C: dokumenttien ja asetusten alihakemistossa. Ongelmana on, että tämä alihakemisto vie käyttäjän nimen ja sitä ei muuteta pelkästään PC: stä toiseen, vaan myös tietokoneisiin, jotka tukevat useita käyttäjiä.
Seuraavien koodien avulla voit käyttää Omat tiedostot -kansiota oletusarvoisesti riippumatta siitä, onko käyttäjä kirjautunut.
VBA: lla
Liitä vain seuraava koodi yleiseen moduuliin:Vaihtoehto Selkeä
Yksityinen tyyppi SHITEMID
cb niin kauan
abID Byte
Lopputyyppi
Yksityinen tyyppi ITEMIDLIST
mkid Kuten SHITEMID
Lopputyyppi
Yksityinen Const CSIDL_PERSONAL Niin kauan kuin = & H5
Yksityinen ilmoitus Toiminto SHGetSpecialFolderLocation Lib "shell32.dll" _
(ByVal hwndOwner niin kauan, ByVal nFolder Long Long, _
pidl As ITEMIDLIST) Niin kauan
Yksityinen julistustoiminto SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" _
ByVal pidl Niin kauan, ByVal pszPath kuin merkkijono niin kauan
Julkinen toiminto Rep_Documents () merkkijonoina
Dim lRet As Long, IDL Kuten ITEMIDLIST, sPath As String
lRet = SHGetSpecialFolderLocation (100 &, CSIDL_PERSONAL, IDL)
Jos lRet = 0 Sitten
sPath = String $ (512, Chr (0))
lRet = SHGetPathFromIDList (ByVal IDL.mkid.cb, ByVal sPath)
Rep_Documents = Vasen $ (sPath, InStr (sPath, Chr $ (0)) - 1)
muu
Rep_Documents = vbNullString
Loppu Jos
Lopeta toiminto
Jos haluat soittaa toimintoon, luo painike ja liitä se seuraavaan koodiin:
Yksityinen alikomentoButton1_Click ()
Solut (5, 2) = Rep_Documents ()
Lopeta Sub
VB6: lla
Käytä VB6: ssa ympäristömuuttuja UserProfile (tämä toimii myös VBA: n kanssa):Dim sPathUser merkkijonoinasPathUser = Ympäristö $ ("USERPROFILE") & "dokumentit"
MsgBox sPathUser
Ympäristötoiminnot
Environ $ -toimintoa käytetään ympäristön muuttujan arvon vastaanottamiseen.Esimerkiksi, kun käytit WINDIR-komentoa (Windows), olisit saanut kansion, johon Windows on asennettu (C: Windows).
Näitä muuttujia voidaan käyttää erätiedostoina, Run-apuohjelman ja ohjelmointiympäristön, kuten VB: n ja VBA: n kautta.
- Työskentely% UserProfile% viittaa nykyiseen käyttäjään.
- Työskentely% UserProfile% Omat tiedostot viittaa Omat tiedostot -kansioon.
- Työskentely% WinDir% saa Windowsin kansion.
- Työskentely% tmp% antaa sinulle pääsyn tilapäisiin tiedostoihin.
Windows-muuttujat
- Oletuskäyttäjän muuttujat
- TEMP-tilapäinen hakemisto
- TMP: n väliaikainen hakemisto
- Järjestelmämuuttujat
- ComSpec-muuttujan polku komentoriville.
- FP_NO_HOST_CHECK?
- NUMBER_OF_PROCESSORS?
- OS palauttaa käytössä olevan käyttöjärjestelmän.
- Polku?
- PATHEXT?
- PROCESSOR_ARCHITECTURE Palauttaa prosessoriarkkitehtuurin (x86 jne.)
- PROCESSOR_IDENTIFIER Palauttaa prosessorin tunnuksen.
- PROCESSOR_LEVEL?
- PROCESSOR_REVISION Palauttaa suorittimen tarkistusten määrän
- TEMP-tilapäinen hakemisto.
- TMP: n väliaikainen hakemisto.
- Windir-kansio, johon Windows on asennettu.
- SystemRoot-kansio, johon Windows on asennettu.