VBA UnProtect Sheet - एक्सेल शीट को असुरक्षित करने के लिए VBA कोड का उपयोग करें

एक्सेल VBA असुरक्षित शीट

ऐसी परिस्थितियां हैं जहां हम अपने कार्यपत्रकों को उपयोगकर्ता को कार्यपत्रकों में हेरफेर करने से रोकने के लिए संरक्षित करते हैं। वर्कशीट की सुरक्षा करते समय, हम आमतौर पर एक ही पासवर्ड रखते हैं। इस लेख में, हम आपको VBA कोडिंग का उपयोग करके शीट को असुरक्षित बनाने का तरीका दिखाएंगे।

उदाहरण

उदाहरण 1

चादर को असुरक्षित बनाने से उनकी सुरक्षा करने की तुलना में 99% सरल है। हमें बस वर्कशीट को असुरक्षित करने के लिए पासवर्ड की आवश्यकता है।

सबसे पहली चीज जो हमें करने की जरूरत है, वह यह है कि हम जिस कार्यपत्रक का नाम लेने जा रहे हैं, वह असुरक्षित है। उदाहरण के लिए, यदि आप "बिक्री डेटा" नाम की शीट को खोलना चाहते हैं, तो आपका VBA कोड इस तरह होना चाहिए।

कार्यपत्रक ("बिक्री डेटा")

इसके बाद Unprotect मेथड को एक्सेस करें।

जैसा कि हम उपरोक्त चित्र में देख सकते हैं, हमें सहायता करने के लिए किसी भी प्रकार की IntelliSense सूची नहीं दिखती है। यह काम को कठिन बनाता है, विशेष रूप से नए सीखने वाले के लिए।

इसे दूर करने के लिए, मैं आमतौर पर VBA वैरिएबल को "वर्कशीट" घोषित करने पर भरोसा करता हूं।

कोड:

सब अनइंस्पेक्ट_एक्सप्लिमेंट 1 () डिम डब्ल्यूएस एज़ वर्कशीट एंड सब

अब घोषित चर को संबंधित शीट पर सेट करें।

कोड:

उप Unpretect_Example1 () डिम Ws के रूप में कार्यपत्रक सेट Ws = कार्यपत्रक ("बिक्री डेटा") उप उप

अब घोषित चर के सभी गुणों और विधियों तक पहुँचने के लिए एक चर का उपयोग करें।

जैसा कि आप ऊपर की छवि में देख सकते हैं, हम सभी गुणों और विधियों तक पहुंच सकते हैं। IntelliSense सूची से "असुरक्षित" विधि का चयन करें।

यह शीट को असुरक्षित करने के लिए पासवर्ड पूछ रहा है। मैंने पासवर्ड को "एक्सेल @ 1234" के रूप में सेट किया है, इसलिए मैं पासवर्ड को समान रूप से आपूर्ति करूंगा।

यह "बिक्री डेटा" नामक कार्यपत्रक को असुरक्षित करेगा।

कोड:

उप Unpretect_Example1 () डिम Ws के रूप में कार्यपत्रक सेट Ws = कार्यपत्रक ("बिक्री डेटा") Ws.Unprotect पासवर्ड: = "Excel @ 1234" अंतिम उप

यदि कोई पासवर्ड नहीं है, तो हमें बस "असुरक्षित" पद्धति का उपयोग करने की आवश्यकता है और "पासवर्ड" पैरामीटर को अनदेखा करें।

कोड:

उप Unpretect_Example1 () डिम Ws के रूप में कार्यपत्रक सेट Ws = कार्यपत्रक ("बिक्री डेटा") 'अपनी आवश्यकता के अनुसार कार्यपत्रक का नाम बदलें Ws.Unprotect' यदि कोई पासवर्ड नहीं है तो बस "Unrotrotect" विधि समाप्त करें

अगर कोई पासवर्ड है, तो हमें पासवर्ड को डबल-कोट्स में दर्ज करना होगा। पासवर्ड केस संवेदी है इसलिए उन्हें ध्यान से याद रखें।

उदाहरण # 2 - बस एक क्लिक के साथ सभी एक्सेल शीट्स असुरक्षित

हमने देखा है कि विशेष वर्कशीट को कैसे तैयार किया जाए। कल्पना करें कि आपके पास कई वर्कशीट हैं, और सभी वर्कशीट एक ही पासवर्ड से सुरक्षित हैं, फिर हम प्रत्येक वर्कशीट के लिए अलग से कोड नहीं लिख सकते।

इन मामलों में, हमें वर्कशीट ऑब्जेक्ट के संग्रह के माध्यम से लूप्स का उपयोग करने की आवश्यकता है और उन्हें आसानी से असुरक्षित करें।

नीचे दी गई कोड सभी वर्कशीट के माध्यम से लूप करेगा और शीट को असुरक्षित करेगा।

कोड:

उप Unpretect_Example2 () ActiveWorkbook.Worksheets Ws.Unprotect पासवर्ड में प्रत्येक Ws के लिए कार्य के रूप में मंद Ws। अगला Ws अंत उप

उदाहरण # 3 - विशेष स्थिति

स्थिति 1: क्या आपने कभी सोचा है कि आपूर्ति किया गया पासवर्ड गलत है। जब आपूर्ति किया गया पासवर्ड गलत है, तो हमें 1004: रन टाइम एरर मिलेगा

इन त्रुटियों को संभालने के लिए, हम "त्रुटि गेटो लेबल पर" विकल्प का उपयोग कर सकते हैं। नीचे दिया गया कोड उसी का एक उदाहरण है।

कोड:

उप Unpretect_Example3 (ActiveWorkbook.Worksheets पर प्रत्येक Ws के लिए कार्यपत्रक के रूप में डिम Ws के रूप में। त्रुटि: MsgBox "गलत पासवर्ड" अगला डब्ल्यूएस अंत उप

उपरोक्त कोड एक अच्छा संदेश बॉक्स दिखाएगा, जिसमें कहा गया था कि "गलत पासवर्ड।"

स्थिति 2: जब शीट को पासवर्ड के बिना संरक्षित किया जाता है, और यदि आप एक यादृच्छिक पासवर्ड की आपूर्ति करते हैं, तो यह अभी भी किसी भी प्रकार की त्रुटियों को दिखाए बिना कार्यपत्रक को असुरक्षित करेगा।

स्थिति 3: जब शीट एक पासवर्ड द्वारा सुरक्षित होती है, लेकिन यदि आप किसी भी पासवर्ड की आपूर्ति नहीं करते हैं, तो VBA पासवर्ड दर्ज करने के लिए पासवर्ड इनपुट बॉक्स के रूप में पॉप अप होगा।

उपरोक्त इनपुट बॉक्स में, हमें कार्यपत्रक को असुरक्षित करने के लिए अपना पासवर्ड दर्ज करना होगा। यदि आप रद्द करें बटन पर क्लिक करते हैं, तो यह वीबीए उपप्रक्रिया से बाहर निकलेगा जब तक कि कोई भी संदेश संदेश बॉक्स न हो।

दिलचस्प लेख...