VBA పాజ్ | స్లీప్ మరియు వెయిట్ ఫంక్షన్ ఉపయోగించి 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 కి"
అయితే, పాజ్ కోడ్ను ప్రాక్టీస్ చేయడానికి ఇది ఉత్తమ మార్గం కాదు, మీరు వేర్వేరు సమయాల్లో కోడ్ను నడుపుతున్నారని చెప్పండి, అప్పుడు మేము TIME VALUE ఫంక్షన్తో NOW VBA ఫంక్షన్ను ఉపయోగించాలి.
ఇప్పుడు మేము పనిచేస్తున్న సిస్టమ్ ప్రకారం ఫంక్షన్ ప్రస్తుత తేదీ & సమయాన్ని అందిస్తుంది.
TIME విలువ ఫంక్షన్ 00:00:00 నుండి 23:59:29 వరకు సమయాన్ని కలిగి ఉంటుంది.
సరే, మనం కోడ్ను రన్ చేసినప్పుడల్లా 10 నిమిషాలు కోడ్ను పాజ్ చేయవలసి ఉంటుందని అనుకోండి, అప్పుడు మేము ఈ క్రింది కోడ్ను ఉపయోగించవచ్చు.
కోడ్:
ఉప పాజ్_ఎక్సాంపుల్ 1 () పరిధి ("A1"). విలువ = "హలో" పరిధి ("A2"). విలువ = "స్వాగతం" అప్లికేషన్.వైట్ (ఇప్పుడు () + సమయ విలువ ("00:00:10")) పరిధి (" A3 "). విలువ =" VBA కి "ముగింపు ఉప
ఇది మునుపటి కోడ్ మాదిరిగానే ఉంటుంది కాని ఒకే తేడా ఏమిటంటే మనం ఇప్పుడు & TIME VALUE ఫంక్షన్ను జోడించాము.
మేము ఈ కోడ్ను అమలు చేసినప్పుడల్లా అది 10 నిమిషాలు అమలును కలిగి ఉంటుంది లేదా పాజ్ చేస్తుంది.
స్లీప్ మెథడ్ ఉపయోగించి VBA కోడ్ను పాజ్ చేయడం ఎలా?
VBA లో స్లీప్ ఒక క్లిష్టమైన ఫంక్షన్ ఎందుకంటే ఇది అంతర్నిర్మిత ఫంక్షన్ కాదు. ఇది అందుబాటులో ఉండటానికి అంతర్నిర్మితమైనది కానందున, మన మాడ్యూల్ పైభాగానికి ఈ క్రింది కోడ్ను జోడించాలి.
కోడ్:
# ఒకవేళ VBA7 పబ్లిక్ డిక్లేర్ PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds as LongPtr) '64 బిట్ సిస్టమ్స్ కోసం
మీరు పై కోడ్ను కాపీ చేసి మాడ్యూల్ ఎగువన అతికించాలి.
SLEEP అనేది విండోస్ DLL ఫైళ్ళలో సమర్పించబడిన VBA ఫంక్షన్ కాబట్టి మేము పై కోడ్ను జోడించాల్సిన అవసరం ఉంది, కాబట్టి మేము ఉపప్రాసెసర్ను ప్రారంభించే ముందు నామకరణాన్ని ప్రకటించాలి.
సరే, ఇప్పుడు SLEEP ఫంక్షన్ యొక్క ఉదాహరణను చూద్దాం.
కోడ్:
సబ్ పాజ్_ఎక్సాంపుల్ 2 () డిమ్ స్టార్ట్టైమ్ స్ట్రింగ్ డిమ్ ఎండ్టైమ్గా స్ట్రింగ్ స్టార్ట్టైమ్ = టైమ్ ఎంఎస్జిబాక్స్ స్టార్ట్టైమ్ స్లీప్ (10000) ఎండ్టైమ్ = టైమ్ ఎంఎస్జిబాక్స్ ఎండ్టైమ్ ఎండ్ సబ్
మొదట, మేము రెండు వేరియబుల్స్ ను స్ట్రింగ్ గా ప్రకటించాము.
డిమ్ స్టార్ట్టైమ్ స్ట్రింగ్ డిమ్ ఎండ్టైమ్ స్ట్రింగ్
అప్పుడు మేము TIME ఎక్సెల్ ఫంక్షన్ను స్టార్ట్టైమ్ వేరియబుల్కు కేటాయించాము. TIME ఫంక్షన్ సిస్టమ్ ప్రకారం ప్రస్తుత సమయాన్ని అందిస్తుంది.
ప్రారంభ సమయం = సమయం
అప్పుడు మేము సందేశ పెట్టెలో చూపించడానికి అదే కేటాయించాము.
MsgBox StartTime
అప్పుడు నేను SLEEP ఫంక్షన్ను స్లీప్ (10000) గా వర్తింపజేసాను.
ఇక్కడ 10000 మిల్లీసెకన్లు, ఇది VBA లో 10 సెకన్లకు సమానం.
అప్పుడు, చివరికి, నేను వేరియబుల్కు మరో TIME ఫంక్షన్ను కేటాయించాను ఎండ్టైమ్.
ఇప్పుడు మళ్ళీ సమయం చూపించడానికి నేను ఒక కోడ్ రాశాను.
ఎండ్టైమ్ = సమయం
ఇది ప్రారంభ సమయం మరియు ముగింపు సమయం మధ్య వ్యత్యాసాన్ని చూపుతుంది.
ఇప్పుడు నేను కోడ్ను ఎగ్జిక్యూట్ చేస్తాను మరియు ప్రారంభ సమయం ఏమిటో చూస్తాను.
నేను కోడ్ను అమలు చేసినప్పుడు నా సిస్టమ్ సమయం 13:40:48 మరియు ఇప్పుడు నా కోడ్ 10 సెకన్ల పాటు నిద్రపోతుంది. చివరికి, నా సమయం ఈ క్రింది విధంగా ఉంది.
కాబట్టి, ఇలా, మేము కోడ్ను నిర్దిష్ట సమయం వరకు అమలు చేయకుండా పాజ్ చేయవచ్చు.