ВБА / ВБ6 - Ми Доцументс + Енвиронмент Вариаблес

Путања фасцикле "Моји документи" садржи променљиву компоненту корисничког имена и мења се од једног корисника до другог. Могуће је написати код у ВБА или ВБ6 да бисте приступили мапи "Ми Доцументс" без обзира на корисничко име, уз помоћ функција које могу читати варијабле окружења у ВБ6 . Као и код сваког програмског језика, писање кода у ВБ6 или ВБА захтијева познавање основних концепта програмирања, укључујући потпрограме, петље и специфичне функције ВБ6. Функције окружења као што је Енвирон $ које прима вредност променљиве окружења, могу се користити за писање кода за читање променљивих окружења у ВБ6 .

Као што је приказано у програму Виндовс Екплорер, чини се да је фасцикла „Моји документи“ у корену, али то није случај. Налази се у поддиректоријуму Ц: Доцументс анд Сеттингс. Проблем је у томе што овај поддиректоријум узима име корисника и мења се не само са једног рачунара на други, већ и на рачунарима који подржавају више корисника.

Следећи кодови омогућавају приступ фасцикли „Моји документи“ по подразумеваном подешавању без обзира на то да ли је корисник пријављен.

Витх ВБА

Само налепите следећи код у општи модул:

Оптион Екплицит

Приватни тип СХИТЕМИД

цб Ас Лонг

абИД Ас Бите

Енд Типе

Приватни тип ИТЕМИДЛИСТ

мкид Ас СХИТЕМИД

Енд Типе

Привате Цонст ЦСИДЛ_ПЕРСОНАЛ Ас Лонг = & Х5

Привате Децларе Фунцтион СХГетСпециалФолдерЛоцатион Либ "схелл32.длл" _

(БиВал хвндОвнер Ас Лонг, БиВал нФолдер Ас Лонг, _

пидл Ас ИТЕМИДЛИСТ)

Функција приватног декларисања СХГетПатхФромИДЛист Либ "схелл32.длл" Алиас "СХГетПатхФромИДЛистА" _

БиВал пидл Ас Лонг, БиВал псзПатх Ас Стринг Ас Лонг

Јавна функција Реп_Доцументс () Ас Стринг

Дим лРет Ас Лонг, ИДЛ као ИТЕМИДЛИСТ, сПатх Ас Стринг

лРет = СХГетСпециалФолдерЛоцатион (100 &, ЦСИДЛ_ПЕРСОНАЛ, ИДЛ)

Иф лРет = 0 Тада

сПатх = Низ $ (512, Цхр $ (0))

лРет = СХГетПатхФромИДЛист (БиВал ИДЛ.мкид.цб, БиВал сПатх)

Реп_Доцументс = Лево $ (сПатх, ИнСтр (сПатх, Цхр $ (0)) - 1)

Елсе

Реп_Доцументс = вбНуллСтринг

Енд Иф

Енд Фунцтион

Да бисте позвали функцију, једноставно направите дугме и налепите следећи код:

Привате Суб ЦоммандБуттон1_Цлицк ()

Ћелије (5, 2) = Реп_Доцументс ()

Енд Суб

Са ВБ6

Под ВБ6, користите променљиву окружења УсерПрофиле (ово такође ради са ВБА):

 Дим сПатхУсер као Стринг

сПатхУсер = Енвирон $ ("УСЕРПРОФИЛЕ") & "моја документа" \ т

МсгБок сПатхУсер

Функције окружења

Функција Енвирон $ се користи за примање вредности променљиве окружења.

На пример, када сте користили команду ВИНДИР (Виндовс), добили бисте фасциклу у којој је инсталиран Виндовс (Ц: Виндовс).

Ове варијабле се могу користити у батцх датотекама, кроз услужни програм Рун и у програмском окружењу као што су ВБ и ВБА.

  • Уношење% УсерПрофиле% референцира тренутног корисника.
  • Типинг% УсерПрофиле% Ми Доцументс се односи на фасциклу Ми Доцументс.
  • Уношење% ВинДир% добија Виндовс фасциклу.
  • Уношењем% тмп% добијате приступ привременим датотекама.

Виндовс Вариаблес

  • Варијабле за заданог корисника
    • ТЕМП привремени директоријум
    • ТМП привремени директоријум
  • Системске варијабле
    • ЦомСпец променљива стаза за командну линију.
    • ФП_НО_ХОСТ_ЦХЕЦК?
    • НУМБЕР_ОФ_ПРОЦЕССОРС?
    • ОС Враћа ОС у употреби.
    • Пут?
    • ПАТХЕКСТ?
    • ПРОЦЕССОР_АРЦХИТЕЦТУРЕ Враћа архитектуру процесора (к86 итд.)
    • ПРОЦЕССОР_ИДЕНТИФИЕР Враћа ИД процесора.
    • ПРОЦЕССОР_ЛЕВЕЛ?
    • ПРОЦЕССОР_РЕВИСИОН Враћа број ревизија процесора
    • ТЕМП привремени директоријум.
    • ТМП привремени директоријум.
    • Виндир фолдер где је инсталиран Виндовс.
    • Фасцикла СистемРоот у којој је инсталиран Виндовс.

Напоменути да:

Ако сте пријављени као администратор, промене се могу извршити преко Цонтрол Панел / Адванцед Систем / Енвиронмент Вариаблес.
Претходни Чланак Sledeći Чланак

Топ Савети