VBA இடைநிறுத்தம் | தூக்கம் மற்றும் காத்திருப்பு செயல்பாட்டைப் பயன்படுத்தி VBA குறியீட்டை இடைநிறுத்துங்கள்
VBA குறியீட்டை இயக்குவதிலிருந்து இடைநிறுத்துங்கள்
VBA இடைநிறுத்தம் ஒரு குறிப்பிட்ட நேரத்திற்கு குறியீட்டை இயக்குவதிலிருந்து இடைநிறுத்தவும், VBA இல் ஒரு குறியீட்டை இடைநிறுத்தவும் பயன்படுகிறது.
எதையாவது செய்தபின் பெரிய விபிஏ திட்டங்களை உருவாக்கும்போது, பிற பணிகளைச் செய்ய சிறிது நேரம் காத்திருக்க வேண்டியிருக்கும். இதுபோன்ற சூழ்நிலைகளில், எங்கள் பணியைச் செய்ய மேக்ரோ குறியீட்டை எவ்வாறு இடைநிறுத்துவது? இரண்டு செயல்பாடுகளைப் பயன்படுத்துவதன் மூலம் ஒரு குறிப்பிட்ட காலத்திற்கு VBA குறியீட்டை இடைநிறுத்தலாம், அந்த செயல்பாடுகள் “காத்திரு” மற்றும் “தூக்கம்”.
காத்திருப்பு முறையைப் பயன்படுத்தி குறியீட்டை எவ்வாறு இடைநிறுத்துவது?
“காத்திரு” என்பது ஒரு குறிப்பிட்ட நேரத்திற்கு மேக்ரோ இயங்குவதற்கு VBA இல் நாம் பயன்படுத்தும் செயல்பாடு. இந்த செயல்பாட்டைப் பயன்படுத்துவதன் மூலம், எங்கள் குறியீடு எந்த நேரம் காத்திருக்க வேண்டும் என்பதை நாம் குறிப்பிட வேண்டும்.
இந்த VBA இடைநிறுத்தம் எக்செல் வார்ப்புருவை இங்கே பதிவிறக்கம் செய்யலாம் - VBA இடைநிறுத்தம் எக்செல் வார்ப்புருஎடுத்துக்காட்டாக, நீங்கள் 13:00:00 மணிக்கு குறியீட்டை இயக்கினால், நேரத்தை “13:15:00” என வழங்கினால், அது மேக்ரோவை 15 நிமிடங்கள் இயக்கும்.
இப்போது, VBA இல் WAIT செயல்பாட்டின் வாதத்தைப் பாருங்கள்.
நேர வாதத்தில், எங்கள் குறியீடு எந்த நேரத்தில் இடைநிறுத்தப்பட வேண்டும் அல்லது காத்திருக்க வேண்டும் என்பதைக் குறிப்பிட வேண்டும்.
எடுத்துக்காட்டாக, கீழே உள்ள VBA குறியீட்டைப் பாருங்கள்.
குறியீடு:
துணை இடைநிறுத்தம்_உதவி 1 () வரம்பு ("A1"). மதிப்பு = "வணக்கம்" வரம்பு ("A2"). மதிப்பு = "வரவேற்பு" பயன்பாடு. காத்திரு ("13:15:00") வரம்பு ("A3"). மதிப்பு = " VBA க்கு "முடிவு துணை
இந்த குறியீட்டை இயக்கும் போது எனது கணினி நேரம் 13:00:00 என்பதை நினைவில் கொள்ளுங்கள், நான் குறியீட்டை இயக்கியவுடன் அது முதல் இரண்டு வரிகளை இயக்கும்.
வரம்பு ("A1"). மதிப்பு = "ஹலோ" & வரம்பு ("A2"). மதிப்பு = "வரவேற்பு"
ஆனால் அடுத்த வரியைப் பார்த்தால் அது அப்ளிகேஷன் என்று கூறுகிறது. நேரம் 13:15:01 ஐ அடைகிறது.
எனது கணினி நேரம் அந்த நேரத்தை அடைந்ததும், அது மீதமுள்ள குறியீடுகளை இயக்கும்.
வரம்பு ("A3"). மதிப்பு = "VBA க்கு"
இருப்பினும், இடைநிறுத்தக் குறியீட்டைப் பயிற்சி செய்வதற்கான சிறந்த வழி இதுவல்ல, நீங்கள் வெவ்வேறு நேரங்களில் குறியீட்டை இயக்குகிறீர்கள் என்று சொல்லலாம், பின்னர் நாம் இப்போது VBA செயல்பாட்டை TIME VALUE செயல்பாட்டுடன் பயன்படுத்த வேண்டும்.
இப்போது நாங்கள் பணிபுரியும் அமைப்பின் படி செயல்பாடு தற்போதைய தேதி மற்றும் நேரத்தை வழங்குகிறது.
TIME மதிப்பு செயல்பாடு 00:00:00 முதல் 23:59:29 வரை உள்ளது.
சரி, நாம் குறியீட்டை இயக்கும் போதெல்லாம் 10 நிமிடங்களுக்கு குறியீட்டை இடைநிறுத்த வேண்டும் என்று வைத்துக் கொள்ளுங்கள், பின்னர் கீழேயுள்ள குறியீட்டைப் பயன்படுத்தலாம்.
குறியீடு:
துணை இடைநிறுத்தம்_உதவி 1 () வரம்பு ("A1"). மதிப்பு = "வணக்கம்" வரம்பு ("A2"). மதிப்பு = "வரவேற்பு" பயன்பாடு. காத்திரு (இப்போது () + நேர மதிப்பு ("00:00:10")) வரம்பு (" A3 "). மதிப்பு =" VBA க்கு "முடிவு துணை
இது முந்தைய குறியீட்டைப் போன்றது, ஆனால் ஒரே வித்தியாசம் என்னவென்றால், இப்போது NOW & TIME VALUE செயல்பாட்டைச் சேர்த்துள்ளோம்.
இந்த குறியீட்டை நாம் இயக்கும்போதெல்லாம் அது 10 நிமிடங்களுக்கு மரணதண்டனை வைத்திருக்கும் அல்லது இடைநிறுத்தும்.
தூக்க முறையைப் பயன்படுத்தி VBA குறியீட்டை எவ்வாறு இடைநிறுத்துவது?
VBA இல் தூக்கம் என்பது ஒரு சிக்கலான செயல்பாடு, ஏனெனில் இது ஒரு உள்ளமைக்கப்பட்ட செயல்பாடு அல்ல. அதைப் பயன்படுத்த இது ஒரு உள்ளமைக்கப்பட்டதல்ல என்பதால், கீழேயுள்ள குறியீட்டை எங்கள் தொகுதியின் மேலே சேர்க்க வேண்டும்.
குறியீடு:
# VBA7 என்றால் பொது அறிவிப்பு PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds as LongPtr) '64 பிட் சிஸ்டங்களுக்கு
நீங்கள் மேலே உள்ள குறியீட்டை நகலெடுத்து தொகுதியின் மேலே ஒட்ட வேண்டும்.
மேலே உள்ள குறியீட்டை நாம் சேர்க்க வேண்டிய காரணம், ஏனெனில் SLEEP என்பது விண்டோஸ் டி.எல்.எல் கோப்புகளில் வழங்கப்பட்ட ஒரு வி.பி.ஏ செயல்பாடு, எனவே துணைத் திட்டத்தைத் தொடங்குவதற்கு முன்பு பெயரிடலை அறிவிக்க வேண்டும்.
சரி, இப்போது SLEEP செயல்பாட்டின் உதாரணத்தைப் பார்ப்போம்.
குறியீடு:
துணை இடைநிறுத்தம்_ எடுத்துக்காட்டு 2 () மங்கலான தொடக்க நேரம் சரம் மங்கலான எண்ட்டைம் சரம் தொடக்க நேரமாக = நேரம் MsgBox தொடக்கநேர தூக்கம் (10000) முடிவுநேரம் = நேரம் MsgBox எண்ட்டைம் முடிவு துணை
முதலில், இரண்டு மாறிகள் சரம் என அறிவித்துள்ளோம்.
மங்கலான ஸ்டார்ட் டைம் சரம் மங்கலான எண்ட்டைம் சரம்
ஸ்டார்ட் டைம் மாறிக்கு TIME எக்செல் செயல்பாட்டை ஒதுக்கியுள்ளோம். TIME செயல்பாடு கணினியின் படி தற்போதைய நேரத்தை வழங்குகிறது.
தொடக்க நேரம் = நேரம்
செய்தி பெட்டியில் காண்பிக்க அதையே ஒதுக்கியுள்ளோம்.
MsgBox StartTime
பின்னர் நான் ஸ்லீப் (10000) என SLEEP செயல்பாட்டைப் பயன்படுத்தினேன்.
இங்கே 10000 என்பது மில்லி விநாடிகள், இது VBA இல் 10 வினாடிகளுக்கு சமம்.
பின்னர், கடைசியாக, நான் இன்னும் ஒரு TIME செயல்பாட்டை மாறிக்கு ஒதுக்கியுள்ளேன் எண்ட்டைம்.
இப்போது மீண்டும் நேரத்தைக் காட்ட ஒரு குறியீட்டை எழுதியுள்ளேன்.
எண்ட்டைம் = நேரம்
இது தொடக்க நேரத்திற்கும் இறுதி நேரத்திற்கும் உள்ள வித்தியாசத்தைக் காண்பிக்கும்.
இப்போது நான் குறியீட்டை இயக்கி தொடக்க நேரம் என்ன என்று பார்ப்பேன்.
நான் குறியீட்டை இயக்கும்போது எனது கணினி நேரம் 13:40:48, இப்போது எனது குறியீடு 10 விநாடிகள் தூங்கும். இறுதியில், எனது நேரம் பின்வருமாறு.
எனவே, இதைப் போல, ஒரு குறிப்பிட்ட நேரத்திற்கு குறியீட்டை இயக்குவதிலிருந்து இடைநிறுத்தலாம்.