وی بی اے توقف | نیند اینڈ ویٹ فنکشن کا استعمال کرکے وی بی اے کوڈ کو روکیں

وی بی اے کوڈ کو چلانے سے روکیں

VBA توقف کوڈ کو متعین وقت سے اس پر عمل کرنے سے روکنے اور VBA میں کوڈ کو روکنے کے لئے استعمال کیا جاتا ہے۔

جب ہم کچھ انجام دینے کے بعد بڑے VBA پروجیکٹس بناتے ہیں تو ہمیں دوسرے کاموں کے ل to کچھ وقت انتظار کرنے کی ضرورت پڑسکتی ہے۔ ایسے حالات میں ہم میکرو کوڈ کو اپنا کام کرنے کے لئے کس طرح روکیں گے؟ ہم دو فنکشنز کا استعمال کرکے ایک مقررہ مدت کے لئے وی بی اے کوڈ کو روک سکتے ہیں اور وہ افعال "انتظار" اور "نیند" ہیں۔

انتظار کا طریقہ استعمال کرکے کوڈ کو کیسے روکا جائے؟

"انتظار کرو" وہ فنکشن ہے جو ہم VBA میں میکرو کو چلاتے ہوئے ایک خاص وقت تک چلاتے ہیں۔ اس فنکشن کو لاگو کرتے ہوئے ہمیں یہ ذکر کرنے کی ضرورت ہے کہ ہمارے کوڈ کو کس وقت کا انتظار کرنا چاہئے۔

آپ یہ VBA توقف ایکسل سانچہ یہاں ڈاؤن لوڈ کرسکتے ہیں

مثال کے طور پر ، اگر آپ 13:00:00 بجے کوڈ پر عملدرآمد کر رہے ہیں اگر آپ وقت کی تیاری کرتے ہیں تو "13:15:00" پھر اس میں 15 منٹ تک میکرو چلتا رہے گا۔

اب ، VBA میں WAIT فنکشن کی دلیل دیکھیں۔

وقت کی بحث کے دوران ہمیں یہ ذکر کرنے کی ضرورت ہے کہ ہمارا کوڈ کس وقت روکنے یا انتظار کرنا چاہئے۔

مثال کے طور پر ، نیچے VBA کوڈ ملاحظہ کریں۔

کوڈ:

 سب وقفہ - مثال 1 () رینج ("A1")۔ ویلیو = "ہیلو" رینج ("A2")۔ ویلیو = "ویلکم" ایپلی کیشن۔ انتظار ("13:15:00") حد ("A3")۔ ویلیو = " وی بی اے کو "آخر سب 

یاد رکھیں اس کوڈ کو چلاتے وقت میرے سسٹم کا وقت 13:00:00 بجے ہے ، جیسے ہی میں اس کوڈ کو چلاتا ہوں یہ پہلی دو لائنوں کو عمل میں لائے گا یعنی۔

حد ("A1")۔ ویلیو = "ہیلو" اور رینج ("A2")۔ ویلیو = "ویلکم"

لیکن اگر آپ اگلی سطر پر نظر ڈالیں تو اس میں ایپلی کیشن کا کہنا ہے۔ وقت 13:15:01 تک پہنچ جاتا ہے۔

ایک بار جب میرے سسٹم کا وقت اس وقت تک پہنچ جاتا ہے تو یہ کوڈ کی باقی لائنوں پر عملدرآمد کرے گا۔

حد ("A3")۔ قدر = "To VBA"

تاہم ، توقف کوڈ پر عمل کرنے کا یہ سب سے بہتر طریقہ نہیں ہے ، بتائیں کہ آپ مختلف اوقات میں کوڈ چلا رہے ہیں ، پھر ہمیں TIME VALUE تقریب کے ساتھ NOW VBA فنکشن استعمال کرنے کی ضرورت ہے۔

ابھی ہم جس نظام پر کام کر رہے ہیں اس کے مطابق فنکشن موجودہ تاریخ اور وقت کی واپسی کرتا ہے۔

وقت کی قدر تقریب میں 00:00:00 سے 23:59:29 تک کا وقت ہوتا ہے۔

ٹھیک ہے ، فرض کریں جب بھی ہم کوڈ چلاتے ہیں تو ہمیں 10 منٹ کے لئے کوڈ کو توقف کرنے کی ضرورت ہوتی ہے ، پھر ہم مندرجہ ذیل کوڈ کو استعمال کرسکتے ہیں۔

کوڈ:

 ذیلی توقف_اختیار 1 () رینج ("A1")۔ ویلیو = "ہیلو" رینج ("A2")۔ ویلیو = "ویلکم" ایپلی کیشن۔ انتظار (اب () + ٹائم ویلیو ("00:00:10")) رینج (" A3 "). قدر =" To VBA "اختتام سب 

یہ پچھلے کوڈ سے ملتا جلتا ہے لیکن فرق صرف اتنا ہے کہ ہم نے ابھی اور وقت کی اہمیت کو شامل کیا ہے۔

جب بھی ہم اس کوڈ کو چلائیں گے تو یہ 10 منٹ تک عملدرآمد کو روکتا یا روکتا ہے۔

نیند کا طریقہ استعمال کرکے وی بی اے کوڈ کو کیسے روکا جائے؟

وی بی اے میں نیند ایک پیچیدہ فنکشن ہے کیونکہ یہ بلٹ ان فنکشن نہیں ہے۔ چونکہ یہ بلٹ ان نہیں ہے تاکہ اسے استعمال کے ل available دستیاب بنایا جاسکے ، ہمیں اپنے ماڈیول کے اوپری حصے میں نیچے کوڈ شامل کرنے کی ضرورت ہے۔

کوڈ:

# اگر VBA7 پھر عوامی اعلان PtrSafe سب نیند لیب "kernel32" (بطور LongPtr بطور وائل dwMilliseconds) '64 بٹ سسٹمز کے لئے # دوسرا عوامی اعلان سب نیند لیب "کارنیل 32" (بائیوال dwMilliseconds دیر تک) # اختتام اگر' 32 بٹ سسٹم کے لئے 

آپ کو صرف مذکورہ کوڈ کو کاپی کرنا ہے اور اسے ماڈیول کے اوپری حصے میں پیسٹ کرنا ہے۔

ہمیں مذکورہ کوڈ کو شامل کرنے کی ضرورت کی وجہ یہ ہے کہ سلیپ ایک وی بی اے فنکشن ہے جو ونڈوز ڈی ایل ایل فائلوں میں پیش کیا جاتا ہے ، لہذا ہمیں سب پروسیجر کو شروع کرنے سے پہلے نام کا اعلان کرنے کی ضرورت ہے۔

ٹھیک ہے ، آئیے اب SLEEP فنکشن کی مثال دیکھیں۔

کوڈ:

 سب Pause_Example2 () ڈم اسٹارٹ ٹائم اسٹرنگ ڈم اینڈ ٹائم جیسے سٹرنگ اسٹارٹ ٹائم = ٹائم MsgBox اسٹارٹائم نیند (10000) اینڈ ٹائم = ٹائم MsgBox EndTime اختتامی سب 

پہلے ، ہم نے سٹرنگ کے طور پر دو متغیرات کا اعلان کیا ہے۔

 ڈم اسٹارٹ ٹائم بطور اسٹرنگ ڈم اینڈ ٹائم اسٹرنگ 

اس کے بعد ہم نے اسٹائم ٹائم متغیر کو ٹائم ایکسل فنکشن تفویض کیا ہے۔ ٹائم فنکشن موجودہ وقت کو نظام کے مطابق واپس کرتا ہے۔

اسٹارٹائم = وقت

پھر ہم نے اسے پیغام باکس میں دکھانے کے لئے تفویض کیا ہے۔

MsgBox اسٹارٹائم

پھر میں نے نیند (10000) کے بطور سلیپ فنکشن لاگو کیا ہے۔

یہاں 10000 ملی سیکنڈ ہے جو VBA میں 10 سیکنڈ کے برابر ہے۔

پھر ، آخر میں ، میں نے متغیر کو ایک اور TIME فنکشن تفویض کیا ہے آخر وقت.

اب میں نے وقت ظاہر کرنے کے لئے ایک کوڈ لکھا ہے۔

اختتام = وقت

اس سے اسٹارٹ ٹائم اور اختتامی وقت کے درمیان فرق نظر آئے گا۔

اب میں کوڈ پر عمل درآمد کروں گا اور دیکھوں گا کہ آغاز کا وقت کیا ہے۔

جب میں کوڈ پر عمل کرتا ہوں تو میرے سسٹم کا وقت 13:40:48 ہے اور اب میرا کوڈ 10 سیکنڈ تک سو جائے گا۔ آخر میں ، میرا وقت مندرجہ ذیل ہے۔

تو ، اس طرح ، ہم کوڈ کو ایک مقررہ وقت کیلئے اس پر عمل درآمد سے روک سکتے ہیں۔