मुझे उपयोगकर्ता को एक संदेश प्रदर्शित करने की आवश्यकता है। जब मैं MsgBox
का उपयोग करके ऐसा करता हूं, तब तक प्रोग्राम बंद हो जाता है जब तक उपयोगकर्ता बॉक्स को क्लिक नहीं करता। मैं जानना चाहता हूं कि कार्यक्रम को रोक दिए बिना MsgBox
खोलने का कोई तरीका है या नहीं।एप्लिकेशन को रोक दिए बिना MsgBox का उपयोग
उत्तर
लगता है जैसे आप MsgBox से किसी भी उपयोगकर्ता इनपुट की अपेक्षा नहीं कर रहे हैं। इस मामले में, आपके आवेदन के आधार पर, StatusBar
पर्याप्त विकल्प हो सकता है। जब किया
Application.StatusBar = "Please be patient..."
Application.StatusBar = iDone & " of " & iTotal & " items done."
StatusBar साफ़ करने के लिए:
Excel में यह आसान है
Application.StatusBar = False
पहुँच में, वाक्य रचना एक छोटा सा अधिक जटिल है:
Temp = SysCmd(acSysCmdSetStatus, "Hey, look at me!") ' Puts out your message
Temp = SysCmd(acSysCmdClearStatus) ' Clears StatusBar
जहाँ तक मैंने कभी भी खोजा है, जवाब है कि आप नहीं कर सकते हैं। कार्य-आसपास एक कस्टम रूप है जो एक संवाद बॉक्स के रूप में कार्य करता है।
http://www.mvps.org/access/forms/frm0046.htm देखें (बिल्कुल आपका प्रश्न नहीं, लेकिन लागू)।
MsgBox मोडल है (जिसका अर्थ है कि खिड़की आती है और इसे साफ़ होने तक कोड के निष्पादन को रोकता है)। जैसा कि अन्य पोस्टर्स/कमेंटर्स ने उल्लेख किया है - आपका विकल्प पॉपअप का अपना संस्करण लिखना है जो मोडल नहीं है। वास्तव में प्रयास के लायक नहीं है जबतक कि आपको वास्तव में इस तरह की आवश्यकता नहीं है।
यह गलत है। Msgbox मोडल संवाद हैं; संवाद क्या है कोड को रोकता है। AcDialog और वास्तविक संवाद बॉक्स (MsgBox, FileDialog, आदि) का उपयोग कर केवल फॉर्म खोले गए हैं। कोई एक मॉडल या पॉपअप फॉर्म बना सकता है, जिसमें से कोई भी कोड रोक नहीं सकता है। – usncahill
आप WScript की पॉपअप विधि का उपयोग कर सकते हैं। यहां नमूना कोड सहित पूर्ण विवरण दिए गए हैं: http://msdn.microsoft.com/en-us/library/x83z1d9f%28v=vs.85%29.aspx
मेरा मानना है कि यह विकल्प उपयोगकर्ता की आवश्यकता के अनुसार कोड को जारी रखने की अनुमति नहीं देता है। यह एक मॉडल विंडो की तरह है, जैसा कि मैंने परीक्षण किया है (वीबीए/एक्सेल के लिए, कम से कम)। –
मेरा मानना है कि आपको पहले मूल्यांकन करने की आवश्यकता है यदि आपको वास्तव में पॉप-अप करने के लिए एक संदेश बॉक्स की आवश्यकता है और आपको कोड चलाना है।
संदेश बॉक्स कार्यक्षमता (जैसा कि पहले से कहा गया है) मोडल है और आप इसे 'बाईपास' नहीं कर सकते हैं। हालांकि, आप एक फॉर्म (संदेशबॉक्स के समान) बना सकते हैं, इस फ़ॉर्म को 'मॉडल नहीं' के रूप में सेट करें और इस फ़ॉर्म को दिखाने के लिए कोड को कॉल करें। कोड वर्कफ़्लो चालू है। परीक्षण और एक्सेल में काम करता है।
अद्यतन: मेरी पहुंच ने एक संदर्भ खो दिया है, मैं अब इसका परीक्षण नहीं कर पाऊंगा। उम्मीद है कि यह एक्सेस में भी काम करता है।
Rgds
एक प्रपत्र के बजाय बनाएँ। मैंने एक छोटा सा फॉर्म बनाया है जिसमें केवल एक टेक्स्ट बॉक्स है जो कहता है "काम करना, कृपया प्रतीक्षा करें"। जब आवश्यक हो, तो मैं पॉप-अप (डॉक्मड ओपनफॉर्म "फॉर्म नाम") के रूप में फॉर्म खोलता हूं, आम तौर पर कुछ ऑपरेशन शुरू करने से पहले जो कुछ समय पूरा करने जा रहा है। जब काम पूरा हो जाता है तो मैं फॉर्म को बंद करता हूं (docmd close acform "form name")। यह प्रोग्राम को रोकता नहीं है लेकिन उपयोगकर्ता को "संदेश" प्रदान करता है।
वीबी संपादक में: सम्मिलित करें मेनू उपयोगकर्ताफॉर्म का चयन करें। टूलबॉक्स में टेक्स्टबॉक्स का चयन करें: उपयोगकर्ताफॉर्म में एक आयत खींचें और इसमें अपना टेक्स्ट टाइप करें। उपयोगकर्ताफॉर्म पर राइट क्लिक करें और गुण चुनें। शोमोडाल संपत्ति में: गलत चुनें। अपने वीबीए मॉड्यूल में UserForm1 दर्ज करें। दिखाएं कि आप इसे चालू करना चाहते हैं और UserForm1। जहां आप इसे बंद करना चाहते हैं उसे देखें। उपयोगकर्ताफॉर्म 1 मेरा है, निश्चित रूप से आपके द्वारा बनाए गए फॉर्म के लिए उपयुक्त नाम का उपयोग करें।
- 1. विजुअल स्टूडियो: डीबगिंग के दौरान एक्सएमएल संपादित करें (डिबगिंग को रोक दिए बिना)
- 2. कस्टम अनइंस्टॉल पेज (MsgBox नहीं)
- 3. थ्रॉटल Rx.Observable मूल्यों को छोड़ दिए बिना
- 4. उपयोगकर्ता को संकेत दिए बिना ClickOnce ऐप कैसे इंस्टॉल करें?
- 5. gdb बिना किसी रोक के प्रक्रिया को संलग्न करता है
- 6. क्या विजुअल स्टूडियो 2010 में निष्पादन को रोक दिए बिना संपादित करना और जारी रखना संभव है?
- 7. क्या प्रोफाइलर का उपयोग किए बिना सी # एप्लिकेशन में मेमोरी उपयोग को ट्रैक करना संभव है?
- 8. बैश स्क्रिप्ट को एसएसएच से पासवर्ड में संकेत दिए बिना और कुंजियों का उपयोग किए बिना मशीन में
- 9. सेवा में ईमेल भेजें (उपयोगकर्ता को संकेत दिए बिना)
- 10. एंड्रॉइड एप्लिकेशन में libusb का उपयोग: एप्लिकेशन को यूएसबी
- 11. ग्राफ़िक्स ऑब्जेक्ट का उपयोग किये बिना स्ट्रिंग को मापें?
- 12. क्या MsgBox और MessageBox के बीच कोई अंतर है। दिखाओ?
- 13. wxwidgets: मैक्रोज़ का उपयोग किये बिना और मुख्य एप्लिकेशन लूप में प्रवेश किए बिना wxApp को कैसे प्रारंभ करें?
- 14. एएसपी.नेट स्थानीयकरण: एप्लिकेशन को पुनरारंभ किए बिना संसाधनों को बदलना?
- 15. डेस्कटॉप स्टैंडअलोन एप्लिकेशन में ओएसजीआई का उपयोग
- 16. HttpContext.Current का उपयोग किये बिना एएसपी.NET वेब एप्लिकेशन का भौतिक स्थान कैसे प्राप्त करें?
- 17. मैं एचटीएमएल 5 वीडियो टैग का उपयोग कर उच्च CPU उपयोग को कैसे रोक सकता हूं?
- 18. क्या आप बैक बटन को तोड़ने के बिना UIWebView में NSURLRequests को रोक सकते हैं?
- 19. पिछले एक को बेरोज़गारी किए बिना और बिना डाउनटाइम के एप्लिकेशन को तैनात करना?
- 20. अपने विचारों का उपयोग किये बिना सुरक्षित सेवाओं का उपयोग
- 21. संपादन मोड छोड़ दिए बिना विम में कैसे अनइंडेंट करें?
- 22. लिंक का उपयोग किए बिना libtool का उपयोग
- 23. वर्तमान पृष्ठ को छोड़ दिए बिना जावास्क्रिप्ट से PHP स्क्रिप्ट को कॉल करना
- 24. कार्यक्षेत्र अपवादों को फेंक दिए बिना मैं कार्यों पर कैसे इंतजार कर सकता हूं?
- 25. मैं हस्ताक्षरित यूआरएल का उपयोग किए बिना अमेज़ॅन एस 3 पर हॉटलिंकिंग को कैसे रोकूं?
- 26. आवेदन के बिना एप्लिकेशन कॉन्फ़िगरेशन में बदलें
- 27. कुंजीपटल फोकस दिए बिना तार्किक फोकस कैसे सेट करें?
- 28. नोड.जेएस: यूडीपी DNS लुकअप को अक्षम करें और दिए गए आईपी का उपयोग
- 29. एप्लिकेशन के बिना यूआरएल प्रोटोकॉल हैंडलिंग
- 30. सामग्री संपादन योग्य div को दिए गए एक सामग्री योग्य
नहीं, MsgBox हमेशा क्लिक होने तक निष्पादन रोकता है। –
यह शीर्षक यह इंगित करने के लिए अद्यतन किया जाना चाहिए कि MsgBox आपके प्रश्न की आवश्यकता नहीं है।किसी समस्या से यहां आ रहा है जहां मैं उपयोगकर्ता को संवाद करने के लिए 'Application.Statusbar' का उपयोग नहीं कर सकता क्योंकि Excel पहले से ही किसी और चीज़ के लिए इसका उपयोग कर रहा है। –