समय पर मैक्रो चलाना

व्यवहार में एक बहुत ही सामान्य मामला: आपको अपने एक या अधिक मैक्रोज़ को एक निश्चित समय पर या एक निश्चित आवृत्ति पर चलाने की आवश्यकता होती है। उदाहरण के लिए, आपके पास एक बड़ी और भारी रिपोर्ट है जो आधे घंटे तक अपडेट होती है और आप सुबह काम पर पहुंचने से आधे घंटे पहले अपडेट चलाना चाहेंगे। या आपके पास एक मैक्रो है जो कर्मचारियों को एक निर्दिष्ट आवृत्ति पर स्वचालित रूप से ईमेल भेजना चाहिए। या, पिवोटटेबल के साथ काम करते समय, आप चाहते हैं कि यह हर 10 सेकंड में फ्लाई पर अपडेट हो, और इसी तरह।

आइए देखें कि एक्सेल और विंडोज में इसे लागू करने की क्या क्षमता है।

किसी दी गई आवृत्ति पर मैक्रो चलाना

ऐसा करने का सबसे आसान तरीका अंतर्निहित VBA पद्धति का उपयोग करना है आवेदन। समय परएक जो निर्दिष्ट मैक्रो को निर्दिष्ट समय पर चलाता है। आइए इसे एक व्यावहारिक उदाहरण से समझते हैं।

टैब पर समान नाम के बटन के साथ Visual Basic संपादक खोलें विकासक (डेवलपर) या कीबोर्ड शॉर्टकट ऑल्ट+F11, मेनू के माध्यम से एक नया मॉड्यूल डालें सम्मिलित करें - मॉड्यूल और निम्नलिखित कोड को वहां कॉपी करें:

Dim TimeToRun 'वैश्विक चर जहां अगला रन टाइम संग्रहीत किया जाता है' यह मुख्य मैक्रो सब MyMacro() एप्लिकेशन है। पुस्तक रेंज ("A1") की पुनर्गणना करें। आंतरिक। ColorIndex = Int (Rnd () * 56) 'भरें। सेल A1 एक यादृच्छिक रंग के साथ :) नेक्स्टरन को कॉल करें 'अगला रन टाइम एंड सब सेट करने के लिए नेक्स्टरन मैक्रो चलाएं' यह मैक्रो मुख्य मैक्रो के अगले रन के लिए समय निर्धारित करता है सब नेक्स्टरुन() TimeToRun = Now + TimeValue("00: 00:03") 'वर्तमान समय एप्लिकेशन में 3 सेकंड जोड़ें। ऑनटाइम टाइमटूरन, "माईमैक्रो" 'अगला रन एंड सब' मैक्रो को रिपीट सीक्वेंस शुरू करने के लिए शेड्यूल करें सब स्टार्ट () नेक्स्टरन एंड सब 'मैक्रो को रिपीट सीक्वेंस को रोकने के लिए कॉल करें। सब फिनिश () एप्लिकेशन। ऑनटाइम टाइमटॉरन, "माईमैक्रो", , फाल्स एंड सब  

आइए जानें कि यहां क्या है।

सबसे पहले, हमें एक वेरिएबल की आवश्यकता है जो हमारे मैक्रो के अगले रन के समय को स्टोर करेगा - मैंने इसे कहा है भागने का समय है. कृपया ध्यान दें कि इस चर की सामग्री हमारे बाद के सभी मैक्रोज़ के लिए उपलब्ध होनी चाहिए, इसलिए हमें इसे बनाने की आवश्यकता है वैश्विक, यानी पहले से पहले मॉड्यूल की शुरुआत में घोषित करें उप.

अगला हमारा मुख्य मैक्रो आता है मायमैक्रो, जो मुख्य कार्य करेगा - विधि का उपयोग करके पुस्तक की पुनर्गणना करना आवेदन.गणना. इसे स्पष्ट करने के लिए, मैंने सेल A1 में शीट में सूत्र = TDATE () जोड़ा, जो दिनांक और समय प्रदर्शित करता है - जब पुनर्गणना की जाती है, तो इसकी सामग्री हमारी आंखों के ठीक सामने अपडेट हो जाएगी (बस सेल में सेकंड के प्रदर्शन को चालू करें) प्रारूप)। अतिरिक्त मनोरंजन के लिए, मैंने मैक्रो में सेल A1 को बेतरतीब ढंग से चयनित रंग से भरने के लिए कमांड भी जोड़ा (रंग कोड 0..56 की सीमा में एक पूर्णांक है, जो फ़ंक्शन द्वारा उत्पन्न होता है) राउंड और एक पूर्णांक फ़ंक्शन तक गोल करता है Int).

मैक्रो अगला भागो पिछले मान में जोड़ता है भागने का समय है 3 और सेकंड और फिर मुख्य मैक्रो के अगले रन को शेड्यूल करता है मायमैक्रो इस नए समय के लिए। बेशक, व्यवहार में, आप फ़ंक्शन तर्क सेट करके अपनी ज़रूरत के किसी भी अन्य समय अंतराल का उपयोग कर सकते हैं समय की कीमत प्रारूप में hh:mm:ss.

और अंत में, केवल सुविधा के लिए, अधिक अनुक्रम लॉन्च मैक्रोज़ जोड़े गए हैं। होम और उसका पूरा होना अंत. अंतिम अनुक्रम को तोड़ने के लिए चौथे विधि तर्क का उपयोग करता है। समय पर बराबर झूठा.

यदि आप मैक्रो चलाते हैं तो कुल होम, तो यह पूरा हिंडोला घूमेगा, और हम शीट पर निम्न चित्र देखेंगे:

आप क्रमशः मैक्रो . चलाकर अनुक्रम को रोक सकते हैं अंत. सुविधा के लिए, आप कमांड का उपयोग करके दोनों मैक्रोज़ को कीबोर्ड शॉर्टकट असाइन कर सकते हैं मैक्रोज़ - विकल्प टैब विकासक (डेवलपर - मैक्रोज़ - विकल्प).

शेड्यूल पर मैक्रो चलाना

बेशक, ऊपर वर्णित सब कुछ तभी संभव है जब आपके पास Microsoft Excel चल रहा हो और उसमें हमारी फ़ाइल खुली हो। अब आइए एक अधिक जटिल मामले को देखें: आपको दिए गए शेड्यूल के अनुसार एक्सेल चलाने की आवश्यकता है, उदाहरण के लिए, हर दिन 5:00 बजे, इसमें एक बड़ी और जटिल रिपोर्ट खोलें और इसमें सभी कनेक्शन और प्रश्नों को अपडेट करें ताकि यह जब तक हम काम पर पहुंचें तब तक तैयार रहें

ऐसे में इसका इस्तेमाल करना बेहतर होता है विंडोज शेड्यूलर - एक प्रोग्राम जो विशेष रूप से विंडोज के किसी भी संस्करण में बनाया गया है जो एक शेड्यूल पर निर्दिष्ट क्रियाएं कर सकता है। वास्तव में, आप पहले से ही इसे जाने बिना इसका उपयोग कर रहे हैं, क्योंकि आपका पीसी नियमित रूप से अपडेट की जांच करता है, नए एंटी-वायरस डेटाबेस डाउनलोड करता है, क्लाउड फ़ोल्डर्स को सिंक्रोनाइज़ करता है, आदि। यह सब शेड्यूलर का काम है। तो हमारा काम मौजूदा कार्यों में एक और जोड़ना है जो एक्सेल लॉन्च करेगा और उसमें निर्दिष्ट फ़ाइल खोलेगा। और हम अपने मैक्रो को घटना पर लटका देंगे वर्कबुक_ओपन यह फ़ाइल - और समस्या हल हो गई है।

मैं आपको तुरंत चेतावनी देना चाहता हूं कि शेड्यूलर के साथ काम करने के लिए उन्नत उपयोगकर्ता अधिकारों की आवश्यकता हो सकती है, इसलिए यदि आपको कार्यालय में अपने कार्य कंप्यूटर पर नीचे वर्णित आदेश और कार्य नहीं मिलते हैं, तो सहायता के लिए अपने आईटी विशेषज्ञों से संपर्क करें।

शेड्यूलर लॉन्च करना

तो चलिए शेड्यूलर शुरू करते हैं। ऐसा करने के लिए, आप या तो कर सकते हैं:

  • बटन पर राइट क्लिक करें प्रारंभ और चुनें कंप्यूटर प्रबंधन (कंप्यूटर प्रबंधन)
  • नियंत्रण कक्ष में चयन करें: प्रशासन - कार्य अनुसूचक (नियंत्रण कक्ष - प्रशासनिक उपकरण - कार्य अनुसूचक)
  • मुख्य मेनू से चुनें प्रारंभ - सहायक उपकरण - सिस्टम उपकरण - कार्य अनुसूचक
  • कुंजीपटल शॉर्टकट दबाएं जीतना+R, दर्ज taskschd.msc और प्रेस दर्ज

निम्नलिखित विंडो स्क्रीन पर दिखाई देनी चाहिए (मेरे पास एक अंग्रेजी संस्करण है, लेकिन आपके पास एक संस्करण भी हो सकता है):

समय पर मैक्रो चलाना

एक कार्य बनाएँ

सरल चरण-दर-चरण विज़ार्ड का उपयोग करके एक नया कार्य बनाने के लिए, लिंक पर क्लिक करें एक सरल कार्य बनाएँ (मूल कार्य बनाएं) दाहिने पैनल में।

विज़ार्ड के पहले चरण में, बनाए जाने वाले कार्य का नाम और विवरण दर्ज करें:

समय पर मैक्रो चलाना

बटन पर क्लिक करें अगला (आगे) और अगले चरण में हम एक ट्रिगर का चयन करते हैं - लॉन्च आवृत्ति या एक घटना जो हमारे कार्य को लॉन्च करेगी (उदाहरण के लिए, कंप्यूटर चालू करना):

समय पर मैक्रो चलाना

अगर आपने चुना दैनिक (रोज), फिर अगले चरण में आपको एक विशिष्ट समय, अनुक्रम की आरंभ तिथि और चरण (हर दूसरे दिन, 2वें दिन, आदि) का चयन करना होगा:

समय पर मैक्रो चलाना

अगला कदम एक क्रिया चुनना है - प्रोग्राम चलाएं (एक कार्यक्रम शुरू करें):

समय पर मैक्रो चलाना

और अंत में, सबसे दिलचस्प बात यह है कि वास्तव में क्या खोलने की जरूरत है:

समय पर मैक्रो चलाना

में प्रोग्राम या स्क्रिप्ट (कार्यक्रम/स्क्रिप्ट) आपको प्रोग्राम के रूप में Microsoft Excel के पथ में प्रवेश करने की आवश्यकता है, अर्थात सीधे एक्सेल निष्पादन योग्य के लिए। विंडोज और ऑफिस के विभिन्न संस्करणों वाले विभिन्न कंप्यूटरों पर, यह फ़ाइल अलग-अलग फ़ोल्डरों में हो सकती है, इसलिए आपके लिए इसके स्थान का पता लगाने के कुछ तरीके यहां दिए गए हैं:

  • डेस्कटॉप पर या टास्कबार में एक्सेल लॉन्च करने के लिए आइकन (शॉर्टकट) पर राइट-क्लिक करें और कमांड चुनें सामग्री (गुण), और फिर खुलने वाली विंडो में, लाइन से पथ की प्रतिलिपि बनाएँ लक्ष्य:

    समय पर मैक्रो चलाना                      समय पर मैक्रो चलाना

  • कोई भी Excel कार्यपुस्तिका खोलें, फिर खोलें Task Manager (कार्य प्रबंधक) धक्का कंट्रोल+ऑल्ट+से और लाइन पर राइट क्लिक करके माइक्रोसॉफ्ट एक्सेल, एक कमांड चुनें सामग्री (गुण). खुलने वाली विंडो में, आप पथ को कॉपी कर सकते हैं, इसमें बैकस्लैश और अंत में EXCEL.EXE जोड़ना न भूलें:

    समय पर मैक्रो चलाना              समय पर मैक्रो चलाना

  • एक्सेल खोलें, कीबोर्ड शॉर्टकट के साथ विजुअल बेसिक एडिटर खोलें ऑल्ट+F11, खुला पैनल तत्काल का संयोजन कंट्रोल+G, इसमें कमांड दर्ज करें:

    ? आवेदन.पथ

    ... और क्लिक करें दर्ज

    समय पर मैक्रो चलाना

    परिणामी पथ की प्रतिलिपि बनाएँ, इसमें बैकस्लैश और अंत में EXCEL.EXE जोड़ना न भूलें.

में तर्क जोड़ें (वैकल्पिक) (तर्क जोड़ें (वैकल्पिक)) आपको उस मैक्रो के साथ पुस्तक का पूरा पथ सम्मिलित करना होगा जिसे हम खोलना चाहते हैं।

जब सब कुछ दर्ज हो जाए, तब क्लिक करें अगला और फिर अंत (खत्म हो). कार्य को सामान्य सूची में जोड़ा जाना चाहिए:

समय पर मैक्रो चलाना

दाईं ओर के बटनों का उपयोग करके बनाए गए कार्य को प्रबंधित करना सुविधाजनक है। यहां आप कार्य को तुरंत चलाकर उसका परीक्षण कर सकते हैं (दौड़ना)निर्दिष्ट समय की प्रतीक्षा किए बिना। आप किसी कार्य को अस्थायी रूप से निष्क्रिय कर सकते हैं (अक्षम करें)ताकि यह कुछ समय के लिए चलना बंद कर दे, जैसे कि आपकी छुट्टी। ठीक है, आप हमेशा बटन के माध्यम से पैरामीटर (दिनांक, समय, फ़ाइल का नाम) बदल सकते हैं सामग्री (गुण).

फ़ाइल खोलने के लिए मैक्रो जोड़ें

अब यह हमारी पुस्तक में फ़ाइल ओपन इवेंट पर आवश्यक मैक्रो के लॉन्च को लटका देना बाकी है। ऐसा करने के लिए, पुस्तक खोलें और कीबोर्ड शॉर्टकट का उपयोग करके विजुअल बेसिक संपादक पर जाएं ऑल्ट+F11 या बटन Visual Basic के टैब विकासक (डेवलपर). ऊपरी बाएँ कोने में खुलने वाली विंडो में, आपको हमारी फ़ाइल को ट्री पर ढूँढ़ना होगा और मॉड्यूल को खोलने के लिए डबल-क्लिक करना होगा इस किताब (यह कार्यपुस्तिका).

यदि आपको यह विंडो Visual Basic संपादक में नहीं दिखाई देती है, तो आप इसे मेनू के माध्यम से खोल सकते हैं देखें — प्रोजेक्ट एक्सप्लोरर.

खुलने वाली मॉड्यूल विंडो में, शीर्ष पर ड्रॉप-डाउन सूची से एक पुस्तक ओपन इवेंट हैंडलर का चयन करके जोड़ें कार्यपुस्तिका и प्रारंभिक, क्रमशः:

समय पर मैक्रो चलाना

स्क्रीन पर एक प्रक्रिया टेम्पलेट दिखाई देना चाहिए। वर्कबुक_ओपन, जहां लाइनों के बीच निजी सब и अंत उप और आपको उन VBA आदेशों को सम्मिलित करने की आवश्यकता है जो इस एक्सेल कार्यपुस्तिका के खुलने पर स्वचालित रूप से निष्पादित होने चाहिए, जब शेड्यूलर इसे शेड्यूल के अनुसार खोलता है। यहाँ ओवरक्लॉकिंग के लिए कुछ उपयोगी विकल्प दिए गए हैं:

  • यह वर्कबुक.रिफ्रेशसभी - सभी बाहरी डेटा क्वेरीज़, पावर क्वेरी क्वेरीज़ और PivotTables को ताज़ा करता है। सबसे बहुमुखी विकल्प। डिफ़ॉल्ट रूप से बाहरी डेटा से कनेक्शन की अनुमति देना न भूलें और के माध्यम से लिंक अपडेट करें फ़ाइल – विकल्प – ट्रस्ट केंद्र – ट्रस्ट केंद्र विकल्प – बाहरी सामग्री, अन्यथा, जब आप पुस्तक खोलते हैं, तो एक मानक चेतावनी दिखाई देगी और एक्सेल, कुछ भी अपडेट किए बिना, बटन पर क्लिक करने के रूप में आपके आशीर्वाद की प्रतीक्षा करेगा सामग्री को सक्षम करें (सामग्री को सक्षम करें):

    समय पर मैक्रो चलाना

  • ActiveWorkbook.Connections ("कनेक्शन_नाम")। ताज़ा करें - Connection_Name कनेक्शन पर डेटा अपडेट करना।
  • शीट्स ("शीट 5"")। पिवोटटेबल्स ("पिवोटटेबल 1"«).PivotCache.ताज़ा करें - नाम की सिंगल पिवट टेबल को अपडेट करना पिवोटटेबल1 शीट पर Sheet5.
  • आवेदन.गणना - सभी खुली एक्सेल कार्यपुस्तिकाओं का पुनर्गणना।
  • आवेदन। गणना पूर्ण पुनर्निर्माण - सभी फ़ार्मुलों का जबरन पुनर्गणना और सभी खुली कार्यपुस्तिकाओं में कक्षों के बीच सभी निर्भरताओं का पुनर्निर्माण (सभी सूत्रों को फिर से दर्ज करने के बराबर)।
  • वर्कशीट्स ("रिपोर्ट")। प्रिंट आउट - प्रिंट शीट तस्वीरें.
  • MyMacro . को कॉल करें - नाम का मैक्रो चलाएँ मायमैक्रो.
  • यह कार्यपुस्तिका। सहेजें - वर्तमान पुस्तक सहेजें
  • ThisWorkbooks.SaveAs "D:ArchiveReport" और बदलें (अब, ":", "-") और ".xlsx" - पुस्तक को एक फ़ोल्डर में सहेजें डी: पुरालेख नाम के तहत तस्वीरें नाम के साथ दिनांक और समय संलग्न है।

यदि आप मैक्रो को केवल तभी निष्पादित करना चाहते हैं जब शेड्यूलर द्वारा सुबह 5:00 बजे फ़ाइल खोली जाती है, और हर बार जब उपयोगकर्ता कार्यदिवस के दौरान कार्यपुस्तिका खोलता है, तो समय जांच जोड़ने के लिए यह समझ में आता है, उदाहरण के लिए:

अगर Format(अब, "hh:mm") = "05:00" तो ThisWorkbook.RefreshAll  

बस इतना ही। अपनी कार्यपुस्तिका को मैक्रो-सक्षम प्रारूप (xlsm या xlsb) में सहेजना न भूलें और आप सुरक्षित रूप से Excel को बंद कर सकते हैं और अपने कंप्यूटर को छोड़कर घर जा सकते हैं। एक निश्चित समय पर (भले ही पीसी लॉक हो), शेड्यूलर एक्सेल लॉन्च करेगा और उसमें निर्दिष्ट फाइल को खोलेगा, और हमारा मैक्रो प्रोग्राम किए गए कार्यों को करेगा। और आप बिस्तर पर आराम करेंगे, जबकि आपकी भारी रिपोर्ट स्वचालित रूप से पुनर्गणना होगी - सुंदरता! मैं

  • मैक्रो क्या हैं, उनका उपयोग कैसे करें, एक्सेल में विजुअल बेसिक कोड कहां डालें
  • एक्सेल के लिए अपना मैक्रो ऐड-इन कैसे बनाएं
  • Excel में अपने मैक्रोज़ के लिए व्यक्तिगत मैक्रो कार्यपुस्तिका को लाइब्रेरी के रूप में कैसे उपयोग करें

एक जवाब लिखें