VBA பாதுகாப்பற்ற தாள் | எக்செல் தாளை பாதுகாப்பதற்கு VBA குறியீட்டைப் பயன்படுத்தவும்
எக்செல் விபிஏ பாதுகாப்பற்ற தாள்
பணித்தாள்களை கையாள்வதிலிருந்து பயனரிடமிருந்து தடுக்க எங்கள் பணித்தாள்களைப் பாதுகாக்கும் சூழ்நிலைகள் உள்ளன. பணித்தாளைப் பாதுகாக்கும் போது, வழக்கமாக அதே கடவுச்சொல்லை நாங்கள் பராமரிக்கிறோம். இந்த கட்டுரையில், VBA குறியீட்டைப் பயன்படுத்தி தாளை பாதுகாப்பற்ற வழியைக் காண்பிப்போம்.
எடுத்துக்காட்டுகள்
இந்த VBA பாதுகாப்பற்ற தாள் எக்செல் வார்ப்புருவை இங்கே பதிவிறக்கம் செய்யலாம் - VBA பாதுகாப்பற்ற தாள் எக்செல் வார்ப்புருஎடுத்துக்காட்டு # 1
தாளைப் பாதுகாப்பதை பாதுகாப்பதை விட 99% எளிமையானது, பணித்தாளைப் பாதுகாக்க எங்களுக்கு கடவுச்சொல் தேவை.
நாம் செய்ய வேண்டிய முதல் விஷயம், நாங்கள் பாதுகாப்பற்றதாக இருக்கும் பணித்தாள் பெயரைக் குறிப்பிடுவதுதான். எடுத்துக்காட்டாக, “விற்பனைத் தரவு” என்று பெயரிடப்பட்ட தாளை நீங்கள் பாதுகாப்பற்றதாகக் கருதினால், உங்கள் VBA குறியீடு இப்படி இருக்க வேண்டும்.
பணித்தாள்கள் (“விற்பனை தரவு”)
பாதுகாப்பற்ற முறையை அணுகவும்.
மேலே உள்ள படத்தில் நாம் காணக்கூடியது போல, எங்களுக்கு உதவ எந்தவிதமான இன்டெலிசென்ஸ் பட்டியலையும் நாங்கள் காணவில்லை. இது வேலையை கடினமாக்குகிறது, குறிப்பாக புதிய கற்பவர்களுக்கு.
இதை சமாளிக்க நான் வழக்கமாக VBA மாறியை “பணித்தாள்” என்று அறிவிப்பதை நம்பியிருக்கிறேன்.
குறியீடு:
துணை Unpretect_Example1 () மங்கலான Ws பணித்தாள் முடிவு துணை
இப்போது அறிவிக்கப்பட்ட மாறியை அந்தந்த தாளில் அமைக்கவும்.
குறியீடு:
துணை Unpretect_Example1 () மங்கலான Ws பணித்தாள் அமைப்பாக Ws = பணித்தாள் ("விற்பனை தரவு") முடிவு துணை
அறிவிக்கப்பட்ட மாறியின் அனைத்து பண்புகள் மற்றும் முறைகளை அணுக இப்போது ஒரு மாறியைப் பயன்படுத்தவும்.
மேலே உள்ள படத்தில் நீங்கள் காணக்கூடியது போல, எல்லா பண்புகளையும் முறைகளையும் நாங்கள் அணுகலாம். இன்டெலிசென்ஸ் பட்டியலிலிருந்து “பாதுகாப்பற்ற” முறையைத் தேர்ந்தெடுக்கவும்.
தாளின் பாதுகாப்பற்ற கடவுச்சொல்லை இது கேட்கிறது. கடவுச்சொல்லை “எக்செல் @ 1234” என அமைத்துள்ளேன், எனவே கடவுச்சொல்லையும் வழங்குவேன்.
இது “விற்பனை தரவு” என பெயரிடப்பட்ட பணித்தாளைப் பாதுகாப்பதில்லை.
குறியீடு:
துணை Unpretect_Example1 () மங்கலான Ws பணித்தாள் அமைப்பாக Ws = பணித்தாள் ("விற்பனை தரவு") Ws. பாதுகாப்பற்ற கடவுச்சொல்: = "எக்செல் @ 1234" முடிவு துணை
கடவுச்சொல் இல்லை என்றால், “பாதுகாப்பற்றது” என்ற முறையைப் பயன்படுத்த வேண்டும் மற்றும் “கடவுச்சொல்” அளவுருவை புறக்கணிக்க வேண்டும்.
குறியீடு:
துணை Unpretect_Example1 () மங்கலான Ws பணித்தாள் அமைப்பாக Ws = பணித்தாள் ("விற்பனை தரவு") 'உங்கள் தேவைக்கேற்ப பணித்தாள் பெயரை மாற்றவும் Ws.Unprotect' கடவுச்சொல் இல்லாவிட்டால் "பாதுகாப்பற்ற" முறையை கடந்து துணை
கடவுச்சொல் ஏதேனும் இருந்தால், கடவுச்சொல்லை இரட்டை மேற்கோள்களில் உள்ளிட வேண்டும். கடவுச்சொல் வழக்கு உணர்திறன் கொண்டது, எனவே அவற்றை கவனமாக நினைவில் கொள்ளுங்கள்.
எடுத்துக்காட்டு # 2 - ஒரு கிளிக்கில் அனைத்து எக்செல் தாள்களையும் பாதுகாக்காதீர்கள்
குறிப்பிட்ட பணித்தாள் எவ்வாறு பாதுகாப்பற்றது என்பதைப் பார்த்தோம். உங்களிடம் பல பணித்தாள்கள் உள்ளன என்று கற்பனை செய்து பாருங்கள், அனைத்து பணித்தாள்களும் ஒரே கடவுச்சொல்லுடன் பாதுகாக்கப்படுகின்றன, பின்னர் ஒவ்வொரு பணித்தாள்க்கும் தனித்தனியாக குறியீடுகளை எழுத முடியாது.
இந்த சந்தர்ப்பங்களில், பணித்தாள் பொருளைச் சேகரிப்பதன் மூலம் சுழற்சிகளைப் பயன்படுத்த வேண்டும் மற்றும் அவற்றை எளிதில் பாதுகாப்பதில்லை.
கீழே உள்ள குறியீடு அனைத்து பணித்தாள்களிலும் சுழன்று தாளை பாதுகாப்பற்றதாக இருக்கும்.
குறியீடு:
ActiveWorkbook.Worksheets Ws.Unprotect கடவுச்சொல்: = "Excel @ 1234" 'கடவுச்சொல்லைப் பாதுகாக்கும் போது நீங்கள் குறிப்பிட்டுள்ளபடி அவற்றை மாற்றவும். அடுத்த Ws முடிவு துணை
எடுத்துக்காட்டு # 3 - சிறப்பு சூழ்நிலைகள்
நிலைமை 1: வழங்கப்பட்ட கடவுச்சொல் தவறாக இருக்கும்போது எப்போதாவது கற்பனை செய்து பாருங்கள். வழங்கப்பட்ட கடவுச்சொல் தவறாக இருக்கும்போது நமக்கு கிடைக்கும் 1004: இயக்க நேர பிழை.
இந்த பிழைகளை கையாள “On Error GoTo Label” விருப்பத்தைப் பயன்படுத்தலாம். குறியீட்டின் கீழே அதே உதாரணம்.
குறியீடு:
துணை Unpretect_Example3 () மங்கலான Ws ஆக்டிவொர்க் புத்தகத்தில் உள்ள ஒவ்வொரு Ws க்கும் பணித்தாள். பிழைத்திருத்தம்: MsgBox "தவறான கடவுச்சொல்" அடுத்த Ws முடிவு துணை
மேலே உள்ள குறியீடு “தவறான கடவுச்சொல்” என்று ஒரு நல்ல செய்தி பெட்டியைக் காண்பிக்கும்.
நிலைமை 2: கடவுச்சொல் இல்லாமல் தாள் பாதுகாக்கப்படும்போது, நீங்கள் ஒரு சீரற்ற கடவுச்சொல்லை வழங்கினால், அது எந்தவிதமான பிழைகளையும் காட்டாமல் பணித்தாள் பாதுகாப்பற்றதாக இருக்கும்.
நிலைமை 3: தாள் கடவுச்சொல்லால் பாதுகாக்கப்படும் போது, ஆனால் நீங்கள் எந்த கடவுச்சொல்லையும் வழங்கவில்லை என்றால், கடவுச்சொல்லை உள்ளிட VBA கடவுச்சொல் உள்ளீட்டு பெட்டியாக பாப் அப் செய்யும்.
மேலே உள்ளீட்டு பெட்டியில், பணித்தாளைப் பாதுகாக்க எங்கள் கடவுச்சொல்லை உள்ளிட வேண்டும். நீங்கள் ரத்துசெய் பொத்தானைக் கிளிக் செய்தால், அது எந்தவொரு பயனர் செய்தி பெட்டியும் இல்லாவிட்டால் எதையும் காட்டாமல் VBA துணை செயலாக்கத்திலிருந்து வெளியேறும்.