2009-06-10 14 views
14

सामान्य रूप से,वीबीए वर्तमान उपयोगकर्ता एप्लिकेशन डेटा फ़ोल्डर के लिए पथ कैसे प्राप्त करें?

वीबीए का उपयोग करके, मैं कैसे निर्धारित करूं कि वर्तमान उपयोगकर्ता एप्लिकेशन डेटा फ़ोल्डर कहां है?

FileSystemObjects विशेष फ़ोल्डरों केवल बारे में 3 फ़ोल्डरों

  • WindowsFolder जानता
  • SystemFolder
  • TemporaryFolder

विशेष रूप से, मैं एक पद के तहत एक फ़ोल्डर में एक फ़ाइल कॉपी करने के लिए मैक्रो की जरूरत है एप्लिकेशन डेटा फ़ोल्डर।

उदा। VB.Net में मैं My.Computer.FileSystem.SpecialDirectories.CurrentUserApplicationData का उपयोग कर

उत्तर

26

इस पथ को पाने के लिए आप Environ("AppData") का उपयोग कर सकते हैं। वातावरण किसी भी सिस्टम वैरिएबल को खींच देगा, जिसे DOS प्रॉम्प्ट पर set कमांड का उपयोग करके पाया जा सकता है।

+0

मैंने कभी पर्यावरण स्ट्रिंग की जांच नहीं की, यह एक इलाज करता है, धन्यवाद :) –

+1

मुझे लगता है कि पर्यावरण() दृष्टिकोण अविश्वसनीय है क्योंकि उपयोगकर्ता द्वारा पर्यावरणीय चर बदल सकते हैं और अप्रत्याशित परिणाम हो सकते हैं। विंडोज एपीआई का उपयोग करना बेहतर हो सकता है। दस्तावेज़/मेरा दस्तावेज़ फ़ोल्डर खोजने के लिए यहां एक उदाहरण दिया गया है: http://dailydoseofexcel.com/archives/2009/02/26/get-the-path-to-my-documents-in-vba/#comment-38211 यदि आप ऐपडाटा फ़ोल्डर के लिए ऐसा करने का एक तरीका मिल सकता है यह एक बेहतर तरीका हो सकता है। – authentictech

7

advapi32.dll का उपयोग करना, आप के माध्यम से USERPROFILE

Environ("USERPROFILE") 

बंधन यह "अनुप्रयोग डेटा" निर्देशिका (जो एक मानक है, विशिष्ट नाम) के साथ आप क्या चाहते हैं पाने के लिए प्राप्त कर सकते हैं

CStr(Environ("USERPROFILE") & "\Application Data") 

अधिक जानकारी के लिए, MSDN