एक्सेल VBA FileDialog
वीबीए में फील्डिअलोग एक ऐसी संपत्ति है जिसका उपयोग विभिन्न उदाहरणों को दर्शाने के लिए किया जाता है, फिलाडियोग में चार अलग-अलग प्रकार के स्थिरांक होते हैं जिन्हें एमएसओफिल्डियलोग्लिफ़्पीकर के रूप में जाना जाता है जो किसी दिए गए पथ से एक फ़ाइल का चयन करने के लिए उपयोग किया जाता है। एमएसऑफ़ेडियालोग्लॉफ़्फ़िकर एक नाम का उपयोग करता है जिसे नाम चुनने के लिए उपयोग किया जाता है। एक फ़ोल्डर और तीसरा एक फाइल खोलने के लिए msofiledialog है और सबसे आखिरी में msofiledialogsaveas है जिसका उपयोग किसी फाइल को नई फाइल के रूप में सहेजने के लिए किया जाता है।
ऐसी कुछ परिस्थितियाँ हैं जहाँ हम किसी अन्य फ़ाइल या किसी अन्य कार्यपत्रक से डेटा चाहते हैं, और जैसा कि VBA का उपयोग हमारे काम को स्वचालित करने के लिए किया जाता है, हम VBA का उपयोग करके विभिन्न अन्य फ़ाइलों को खोल सकते हैं, और यह फ़ाइल संवाद, शांत भाग का उपयोग करके किया जाता है इस पद्धति का उपयोग करना यह है कि हमें कोड को पथ प्रदान करने की आवश्यकता नहीं है इसके बजाय हम उपयोगकर्ता से फ़ाइल ब्राउज़ करने के लिए कहते हैं।
VBA प्रोजेक्ट के भाग के रूप में, हमें अन्य कार्यपुस्तिकाएँ खोलने और उनके साथ किसी प्रकार के कार्य को निष्पादित करने की आवश्यकता हो सकती है। पहले के लेखों में से एक में, "VBA वर्कबुक। PDF," हमने दिखाया है कि एक निर्दिष्ट पथ और विशिष्ट फ़ाइल के साथ फाइलें कैसे खोलें। वहां, हमें इसके विस्तार के साथ फ़ोल्डर पथ और फ़ाइल नाम की आपूर्ति करने की आवश्यकता थी। लेकिन तब क्या हो जब हर बार यूजर को अलग-अलग फोल्डर से अलग-अलग फाइल का चयन करना पड़े। यह वह जगह है जहाँ "FileDialog" विकल्प तस्वीर में आता है।

VBA FileDialog ऑप्शन कैसे काम करता है?
"यदि आपको सटीक रास्ता नहीं पता है, तो FileDialog आपको फ़ाइल ढूंढेगा और उसका चयन करेगा।" पथ पते और फ़ाइल नाम का उल्लेख करने के बजाय, हम कंप्यूटर के किसी भी फ़ोल्डर से फ़ाइल का चयन करने के लिए अलग से एक फ़ाइल ओपन डायलॉग विंडो प्रस्तुत कर सकते हैं।
"FileDialog" VBA में एक ऑब्जेक्ट है। पहले इस विकल्प का उपयोग करने के लिए, हमें चर को FileDialog के रूप में परिभाषित करना होगा।

एक बार जब चर "FileDialog" के रूप में घोषित किया जाता है, तो यह एक वस्तु चर है। इसका उपयोग शुरू करने के लिए, हमें Application.FileDialog का उपयोग करके ऑब्जेक्ट सेट करना होगा।

जैसा कि हम उपरोक्त चित्र में देख सकते हैं, फाइलडायलॉग में इसके साथ चार विकल्प हैं।
- msoFileDialogFilePicker: यह विकल्प अपनी इच्छा के अनुसार वांछित फ़ाइल का चयन करने के लिए उपयोगकर्ता के सामने फ़ाइल पिकर विंडो को खोलता है।
- msoFileDialogFolderPicker: यह विकल्प फ़ोल्डर का चयन करने के लिए उपयोगकर्ता के सामने संवाद बॉक्स या विंडो को खोलता है।
- msoFileDialogOpen: यह उपयोगकर्ता को फ़ोल्डर से चयनित फ़ाइल खोलने की अनुमति देगा।
- msoFileDialogSaveAs: यह उपयोगकर्ता को एक अलग प्रतिलिपि के रूप में फ़ाइल को सहेजने की अनुमति देगा।
अब तक, मैंने msoFileDialogFilePicker के विकल्प का चयन किया है।
अब हमें हमारे सामने दिखाई देने वाले डायलॉग बॉक्स को डिजाइन करना होगा।
स्टेटमेंट का उपयोग करके, हम संवाद बॉक्स को डिज़ाइन कर सकते हैं।

विवरण के साथ अंदर, फ़ाइलडायलॉग विकल्प के गुणों और तरीकों की इंटेलीजेंसी सूची देखने के लिए एक डॉट डालें।

फ़ाइल डायलॉग बॉक्स खुलने पर केवल एक्सेल फ़ाइलों को देखने के लिए, हमें पहले लागू किए गए किसी भी फ़िल्टर को हटाने की आवश्यकता है।

अब हमें एक्सेल फाइलों के वाइल्डकार्ड एक्सटेंशन के साथ "एक्सेल फाइल्स" के रूप में एक नया फ़िल्टर लागू करने की आवश्यकता है।

अब फाइल डायलॉग बॉक्स का शीर्षक बदलते हैं।

हम उपयोगकर्ता को एक समय में केवल एक फ़ाइल का चयन करने की अनुमति दे सकते हैं, या हम उन्हें एक से अधिक फ़ाइलों का चयन करने की अनुमति भी दे सकते हैं। इसके लिए हमें "मल्टी-सेलेक्ट की अनुमति दें" का उपयोग करने की आवश्यकता है।

हमारे यहां दो विकल्प हैं। यदि TRUE चुना गया है, तो यह उपयोगकर्ता को कई फ़ाइलों का चयन करने की अनुमति देगा। यदि यह है, तो FALSE उपयोगकर्ता एक बार में केवल एक फ़ाइल का चयन कर सकता है।
FileDialog के साथ एक और चीज़ जो हम डिज़ाइन कर सकते हैं, वह यह है कि हम वास्तव में इस बात पर ज़ोर दे सकते हैं कि फ़ाइल संवाद बॉक्स दिखाई देने पर डिफ़ॉल्ट फ़ोल्डर क्या होना चाहिए। इस उपयोग के लिए, प्रारंभिक फ़ाइल नाम।

इसके लिए, हमें पता पथ को खोलने के लिए डिफ़ॉल्ट फ़ोल्डर का उल्लेख करना होगा।

अब आखिरकार, हमें फ़ाइल डायलॉग बॉक्स देखने के लिए "शो" विधि को लागू करना होगा।
कोड:
उप DoEvents_Example1 () फ़ाइल MyDile के रूप में मंद Myfile Myfile = Application.FileDialog (msoFileDialogFilePicker) के साथ Myfile .Filters.Clear। ! " .AllowMultiSelect = False .InitialFileName = "D: Excel फ़ाइलें" .Show अंत उप के साथ समाप्त करें।

अब परिणाम देखने के लिए VBA कोड चलाएं।

जैसा कि हम उपरोक्त छवि फ़ाइल में देख सकते हैं संवाद बॉक्स ने डिफ़ॉल्ट रूप से उल्लेखित फ़ोल्डर को खोल दिया है।
अब हम किसी भी सबफ़ोल्डर का चयन कर सकते हैं और एक्सेल फ़ाइलों का चयन कर सकते हैं।

उपरोक्त छवि को देखें क्योंकि हमने फ़िल्टर पैरामीटर को केवल "एक्सेल फाइल" के रूप में लागू किया है।
यह सिर्फ उल्लेखित फ़ोल्डर से फाइल का चयन करेगा। पूर्ण पथ को संग्रहीत करने के लिए, हमें एक स्ट्रिंग के रूप में एक और चर घोषित करने की आवश्यकता है।

Now inside the with the statement, select “SelectedItems.” Assign the selected items folder path to the newly defined variable.

Now finally show the selected folder path in the VBA message box.

Now I will run the program to see the dialogue box.

Now I have selected the File Name as “1. Charts.xlsx” in the subfolder “Charts.” If I click on OK, we can see the full folder path in the message box.

So, like this, we can use the FileDialog option to select the files from the folder in Excel. Use the below code to select the files.
Code:
उप DoEvents_Example1 () फ़ाइल के रूप में मंद Myfile सेट Myfile = Application.FileDialog (msoFileDialogFilePicker) Dim FileAddress Myring के साथ स्ट्रिंग के रूप में। एक्सेल फाइल!!!" .AllowMultiSelect = False .InitialFileName = "D: Excel Files" .Show FileAddress = .SelectedItems (1) MsgBox FileAddress End के साथ समाप्त होता है।