VBA / VB6 - المستندات + متغيرات البيئة

يحتوي مسار مجلد "المستندات" على مكون اسم مستخدم متغير ويتغير من مستخدم إلى آخر. من الممكن كتابة رمز في VBA أو VB6 للوصول إلى المجلد "My Documents" بغض النظر عن اسم المستخدم ، بمساعدة الوظائف التي يمكنها قراءة متغيرات البيئة في VB6 . كما هو الحال مع كل لغة برمجة ، تتطلب كتابة التعليمات البرمجية في VB6 أو VBA معرفة مفاهيم البرمجة الأساسية بما في ذلك البرامج الفرعية والحلقات ووظائف VB6 المحددة. يمكن استخدام وظائف البيئة مثل Environ $ التي تتلقى قيمة متغير البيئة ، لكتابة رمز لقراءة متغيرات البيئة في VB6 .

كما هو معروض في مستكشف Windows ، يظهر مجلد المستندات في الجذر ، ولكن هذا ليس هو الحال. وهو موجود في دليل فرعي لـ C: \ Documents and Settings. المشكلة هي أن هذا الدليل الفرعي يأخذ اسم المستخدم ولا يتم تغييره من كمبيوتر إلى آخر فحسب ، بل وأيضًا على أجهزة الكمبيوتر التي تدعم عدة مستخدمين.

تسمح لك الرموز التالية بالوصول إلى مجلد "المستندات" بشكل افتراضي بغض النظر عن المستخدم الذي قام بتسجيل الدخول.

مع VBA

ما عليك سوى لصق التعليمة البرمجية التالية في وحدة نمطية عامة:

الخيار صريح

نوع خاص SHITEMID

cb طالما

عابد كما بايت

نوع النهاية

النوع الخاص ITEMIDLIST

mkid كما شيتميد

نوع النهاية

Const CON CSIDL_PERSONAL خاصة طويلة = & H5

وظيفة Declare الخاصة SHGetSpecialFolderLocation Lib "shell32.dll" _

(ByVal hwndOwner As Long ، ByVal nFolder As Long، _

pidl كما ITEMIDLIST) طالما

الدالة Declare الخاصة SHGetPathFromIDList Lib "shell32.dll" Alias ​​"SHGetPathFromIDListA" _

ByVal pidl Long، ByVal pszPath As String As Long

Rep_Documents الدالة العامة () كـ سلسلة

خافت لريت طالما ، IDL كما ITEMIDLIST ، sPath كسلسلة

lRet = SHGetSpecialFolderLocation (100 & ، CSIDL_PERSONAL ، IDL)

إذا lRet = 0 ثم

sPath = String $ (512، Chr $ (0))

lRet = SHGetPathFromIDList (ByVal IDL.mkid.cb، ByVal sPath)

Rep_Documents = Left $ (sPath، InStr (sPath، Chr $ (0)) - 1)

آخر

Rep_Documents = vbNullString

إنهاء إذا

وظيفة النهاية

للاتصال بالوظيفة ، ما عليك سوى إنشاء زر ولصقه في التعليمة البرمجية التالية:

Sub CommandButton1_Click ()

الخلايا (5 ، 2) = Rep_Documents ()

نهاية الفرعية

مع VB6

ضمن VB6 ، استخدم متغير البيئة UserProfile (يعمل هذا أيضًا مع VBA):

 قاتمة sPathUser كسلسلة

sPathUser = Environ $ ("USERPROFILE") & "\ my documents \"

MsgBox sPathUser

وظائف البيئة

تستخدم الدالة Environ $ لتلقي قيمة متغير البيئة.

على سبيل المثال ، عند استخدام الأمر WINDIR (في نظام Windows) ، كنت قد حصلت على المجلد الذي تم تثبيت Windows عليه (C: \ Windows \).

يمكن استخدام هذه المتغيرات في الملفات الدفعية ، من خلال الأداة المساعدة Run وفي بيئة برمجة مثل VB و VBA.

  • تشير كتابة٪ UserProfile٪ إلى المستخدم الحالي.
  • تشير كتابة٪ UserProfile٪ \ My Documents "إلى مجلد" المستندات ".
  • كتابة٪ WinDir٪ يحصل على مجلد Windows.
  • تتيح لك كتابة٪ tmp٪ الوصول إلى الملفات المؤقتة.

متغيرات ويندوز

  • متغيرات للمستخدم الافتراضي
    • دليل مؤقت TEMP
    • دليل مؤقت TMP
  • متغيرات النظام
    • مسار متغير ComSpec لموجه الأوامر.
    • FP_NO_HOST_CHECK؟
    • NUMBER_OF_PROCESSORS؟
    • نظام التشغيل إرجاع نظام التشغيل قيد الاستخدام.
    • مسار؟
    • PATHEXT؟
    • PROCESSOR_ARCHITECTURE إرجاع بنية المعالج (x86 ، الخ ...)
    • PROCESSOR_IDENTIFIER إرجاع معرف المعالج.
    • PROCESSOR_LEVEL؟
    • PROCESSOR_REVISION إرجاع عدد مراجعات المعالج
    • دليل مؤقت TEMP.
    • دليل مؤقت TMP.
    • ملف windir حيث تم تثبيت Windows.
    • مجلد SystemRoot حيث تم تثبيت Windows.

لاحظ أن:

إذا قمت بتسجيل الدخول كمسؤول ، فيمكن إجراء التغييرات من خلال متغيرات لوحة التحكم / النظام / البيئة المتقدمة.
المقال السابق المقالة القادمة

نصائح الأعلى