وی بی اے انتظار کی تقریب | ایکسل وی بی اے کے طریقہ کار کا استعمال کیسے کریں؟
ایکسل وی بی اے ویٹ فنکشن
وی بی اے رکو کوڈ کو ایک مقررہ وقت پر عملدرآمد سے روکنے کے لئے استعمال کیا جاتا ہے۔ یہ ایک نیند کمانڈ میں جو کچھ ہے اس سے بہت ملتا جلتا ہے اور اس کوڈ کو روکنے کے لئے جسے ہم ایپلی کیشن کا استعمال کرتے ہیں۔
کچھ کوڈوں کو دوسرے کاموں کی تکمیل کے سبب کوڈ کی اگلی لائن میں پیشرفت سے پہلے کچھ وقت درکار ہوتا ہے۔ ان معاملات میں ، ہمیں کوڈ پر عمل درآمد کو روکنے اور کچھ وقت کے لئے روکنے کی ضرورت ہے پھر اس پر عملدرآمد جاری رکھیں۔ ہم کوڈ کو دو طریقوں سے نافذ کرنے کیلئے روک سکتے ہیں ، پہلا ایک "نیند" کا طریقہ ہے اور دوسرا "انتظار" کا طریقہ ہے۔ ہمارے پہلے مضمون میں ، ہم نے VBA کوڈ کو موقوف کرنے کے "VBA نیند" کے طریقہ کار پر تبادلہ خیال کیا ہے۔
"انتظار کرو" جیسا کہ نام ہی کہتا ہے کہ اس میں میکرو کوڈ کو ایک مقررہ ٹائم فریم پر عمل میں لایا جائے گا۔ اس طریقہ کا استعمال کرتے ہوئے ہمیں اپنے کوڈ کو روکنے کے وقت کی وضاحت کرنے کی ضرورت ہے ، ہم اگلی مثالیں دیکھیں گے۔
WAIT فنکشن کا نحو ذیل میں ہے۔
ہمیں اپنے کوڈ کو روکنے کے وقت کا ذکر کرنے کی ضرورت ہے۔ جیسا کہ آپ آخر میں دیکھ سکتے ہیں کہ یہ بولین کہتا ہے ، اس کا مطلب یہ ہے کہ اس کا نتیجہ بولین کی اقدار یعنی سچ یا جھوٹی کے طور پر لوٹاتا ہے۔
جب تک کہ مقررہ وقت نہ پہنچے یہ غلط کہتا ہے اور جس وقت مقررہ وقت آتا ہے وہ صحیح ہوجاتا ہے۔
یہ سلیپ فنکشن کے برعکس ہے کیونکہ WAIT ایک بلٹ ان فنکشن ہے جہاں سلیپ ونڈوز فنکشن ہوتا ہے۔ سلیپ فنکشن تک رسائی حاصل کرنے سے پہلے ہمیں ماڈیول کے اوپری حصے میں درج ذیل کوڈ کا ذکر کرنے کی ضرورت ہے۔ لیکن انتظار اس کی ضرورت نہیں ہے۔
کوڈ:
# اگر VBA7 پھر عوامی اعلان PtrSafe سب نیند لیب "kernel32" (ByVal dwMilliseconds As LongPtr) ‘64 بٹ سسٹمز کے لئے # دوسرا پبلک ڈیلیئیر سب نیند لیب" کارنیل 32 "(بائیوال dwMilliseconds دیر تک)‘ 32 بٹ سسٹم کے اختتام پر اگر
ایکسل وی بی اے ویٹ فنکشن کو استعمال کرنے کی مثالیں
آپ یہ وی بی اے ویٹ ایکسل ٹیمپلیٹ یہاں ڈاؤن لوڈ کرسکتے ہیں - وی بی اے ایکسل ٹیمپلیٹ کا انتظار کریںمثال # 1
فرض کریں کہ آپ 14:30:00 بجے درمیانی دن میں ایکسل میں کام کر رہے ہیں اور آپ چاہتے ہیں کہ جب تک 14:40:00 بجے کا وقت نہیں بن جاتا آپ کے کوڈ کو موقوف کردیا جائے۔ آپ مندرجہ ذیل کوڈ کو استعمال کرسکتے ہیں۔
کوڈ:
سب انتظار (مثال) 1 () ایپلی کیشن۔ انتظار کریں "14:40:00" سب سب آخر
کوڈ آپ کے ایکسل کو کام کرنے سے روک دے گا جب تک کہ آپ کے آپریٹنگ سسٹم میں 14:40:00 وقت نہیں پہنچ جاتا ہے۔ اس طرح کا وقت مہیا کرنا خطرناک ہے کیونکہ ہم ہمیشہ کام کرتے نہیں ہیں 14:30:00 ہر وقت یہ مختلف رہتا ہے۔
ہم کہتے ہیں کہ جب بھی آپ کوڈ چلا رہے ہیں تو آپ 2 منٹ انتظار کرنا چاہتے ہیں ، اپنے کوڈ میں اس کا حوالہ کیسے دیں؟
لہذا ، ہم موجودہ وقت سے مقررہ وقت داخل کرنے کے لئے ٹائم ویلیو فنکشن کے ساتھ وی بی اے نو فنکشن کا استعمال کرسکتے ہیں۔
بس آپ کو یاد دلانے کے لئے (آپ کے کمپیوٹر سسٹم کے مطابق) فنکشن موجودہ تاریخ اور وقت کی واپسی کرتا ہے۔ TIMEVALUE فنکشن 00:00:00 سے 23:59:59 تک کے وقت کی نمائندگی کرتا ہے یعنی 11:59:59 P.M 24 گھنٹے کی شکل میں۔ یہ سٹرنگ ویلیو کو ٹائم ویلیو میں تبدیل کرتا ہے۔
مثال کے طور پر ابھی () + ٹائم ویلیو (00:02:30) کا مطلب موجودہ وقت + 2 منٹ 30 سیکنڈ ہے۔
اگر موجودہ وقت 14:25:30 ہے تو یہ 14:28:00 ہو جاتا ہے۔
اپنے کوڈ کو موجودہ وقت سے اگلے 10 منٹ تک عمل میں آنے سے روکنے یا رکنے کے ل you آپ مندرجہ ذیل کوڈ استعمال کرسکتے ہیں۔
کوڈ:
سب انتظار (مثال) 2 () ایپلیکیشن۔ انتظار کریں (اب () + ٹائم ویلیو ("00:10:00")) اختتام سب
درست توقف کے لئے NOW () فنکشن کا استعمال کرنا ضروری ہے ، بصورت دیگر ، آپ کے ایکسل ورک بک کو آدھی رات تک رکنے کے امکانات موجود ہیں۔ تاہم ، ہم کسی بھی وقت موزوں طریقہ کو دبانے سے باہر نکل سکتے ہیں Esc کلید یا توڑ کلید
مثال # 2
جب بھی لوپ چلتا ہے تو 10 سیکنڈ کا انتظار کریں
انتظار کا طریقہ لوپس کے ساتھ بہتر استعمال ہوتا ہے۔ ایسے حالات موجود ہیں جہاں آپ کو ہر بار لوپ چلنے پر 10 سیکنڈ انتظار کرنے کی ضرورت پڑسکتی ہے۔ مثال کے طور پر ، نیچے دیئے گئے ڈیٹا کو دیکھیں۔
منافع = (سیلز - لاگت) کا حساب لگانے کے ل you آپ ایک لوپ بنانا چاہتے ہیں اور ہر لوپ کے بعد ، آپ 10 سیکنڈ انتظار کرنا چاہتے ہیں تاکہ جانچ پڑتال ہو کہ نتیجہ درست ہے یا نہیں۔ ذیل میں کوڈ ایسا کرے گا۔
کوڈ:
سب انتظار_انصبر 3 () D = k انٹرایگر کے طور پر K = 2 سے 9 سیلز (کے ، 4) : 10 ")) اگلا k اختتام سب
یہ کوڈ منافع کے کالم لائن کا حساب کتاب کرے گا۔ پہلی لائن کی تکمیل کے بعد ، اگلی لائن کا حساب لگانے سے پہلے 10 سیکنڈ تک انتظار کرے گا۔
وی بی اے نیند بمقابلہ وی بی اے رکو
وی بی اے سلیپ | وی بی اے انتظار | |
یہ VBA بلٹ ان فنکشن نہیں ہے ، اس فنکشن تک رسائی کے ل a ایک خاص کوڈ کی ضرورت ہے۔ | یہ ایک VBI بلٹ ان فنکشن ہے ، اس فنکشن تک رسائی کے ل any کسی خاص کوڈ کی ضرورت نہیں ہوتی ہے۔ | |
نیند کے لئے وقت کی حد کے طور پر ملی سیکنڈ کی ضرورت ہے۔ | انتظار کرو باقاعدہ ٹائم فریم کی ضرورت ہے۔ | |
ہم ملی سیکنڈ میں کوڈ میں تاخیر کرسکتے ہیں | ہم صرف پورے سیکنڈ میں ہی تاخیر کرسکتے ہیں۔ |