সময়মতো ম্যাক্রো চালানো

অনুশীলনে একটি খুব সাধারণ ঘটনা: আপনাকে একটি নির্দিষ্ট সময়ে বা একটি নির্দিষ্ট ফ্রিকোয়েন্সিতে আপনার এক বা একাধিক ম্যাক্রো চালাতে হবে। উদাহরণস্বরূপ, আপনার কাছে একটি বড় এবং ভারী প্রতিবেদন রয়েছে যা আধা ঘন্টা আপডেট করে এবং আপনি সকালে অফিসে পৌঁছানোর আধা ঘন্টা আগে আপডেটটি চালাতে চান। অথবা আপনার কাছে একটি ম্যাক্রো আছে যা স্বয়ংক্রিয়ভাবে একটি নির্দিষ্ট ফ্রিকোয়েন্সিতে কর্মীদের ইমেল পাঠাতে হবে। অথবা, একটি PivotTable এর সাথে কাজ করার সময়, আপনি এটি প্রতি 10 সেকেন্ডে ফ্লাইতে আপডেট করতে চান, ইত্যাদি।

চলুন দেখি এক্সেল এবং উইন্ডোজ এর কি কি ক্ষমতা আছে তা বাস্তবায়ন করার।

একটি প্রদত্ত ফ্রিকোয়েন্সিতে একটি ম্যাক্রো চালানো

এটি করার সবচেয়ে সহজ উপায় হল বিল্ট-ইন VBA পদ্ধতি ব্যবহার করা আবেদন।অনটাইমএকটি যে নির্দিষ্ট সময়ে নির্দিষ্ট ম্যাক্রো চালায়। একটি বাস্তব উদাহরণ দিয়ে এটি বোঝা যাক।

ট্যাবে একই নামের বোতাম দিয়ে ভিজ্যুয়াল বেসিক সম্পাদক খুলুন ডেভেলপার (বিকাশকারী) বা কীবোর্ড শর্টকাট অল্টার+F11, মেনুর মাধ্যমে একটি নতুন মডিউল সন্নিবেশ করুন সন্নিবেশ - মডিউল এবং সেখানে নিম্নলিখিত কোড অনুলিপি করুন:

Dim TimeToRun 'গ্লোবাল ভেরিয়েবল যেখানে পরবর্তী রান টাইম সংরক্ষিত থাকে' এটি হল প্রধান ম্যাক্রো সাব মাইম্যাক্রো() অ্যাপ্লিকেশন। ক্যালকুলেট 'পুনরায় গণনা করুন রেঞ্জ ("A1")।Interior.ColorIndex = Int(Rnd() * 56)' পূরণ করুন। একটি এলোমেলো রঙ সহ সেল A1 :) NextRun কল করুন 'পরবর্তী রান টাইম সেট করতে NextRun ম্যাক্রো চালান End Sub' এই ম্যাক্রোটি মূল ম্যাক্রোর পরবর্তী রানের জন্য সময় সেট করে Sub NextRun() TimeToRun = Now + TimeValue("00: 00:03") 'বর্তমান সময়ের অ্যাপ্লিকেশনে 3 সেকেন্ড যোগ করুন। অনটাইম টাইমটি চালু করুন, "MyMacro" 'পরবর্তী রানের সময়সূচী করুন End Sub' ম্যাক্রো পুনরাবৃত্তি ক্রম শুরু করতে Sub Start() পুনরাবৃত্তি ক্রম বন্ধ করতে নেক্সটরান এন্ড সাব' ম্যাক্রোকে কল করুন সাব ফিনিশ() অ্যাপ্লিকেশন।অনটাইম টাইম টোরান, "মাইম্যাক্রো", , ফলস এন্ড সাব  

আসুন এখানে কি কি তা খুঁজে বের করা যাক.

প্রথমত, আমাদের একটি ভেরিয়েবল দরকার যা আমাদের ম্যাক্রোর পরবর্তী রানের সময় সংরক্ষণ করবে - আমি এটিকে বলেছি TimeToRun. দয়া করে মনে রাখবেন যে এই ভেরিয়েবলের বিষয়বস্তু আমাদের পরবর্তী সমস্ত ম্যাক্রোর জন্য উপলব্ধ হতে হবে, তাই আমাদের এটি তৈরি করতে হবে বিশ্বব্যাপী, অর্থাৎ প্রথমটির আগে মডিউলের একেবারে শুরুতে ঘোষণা করুন উপ.

এর পরে আমাদের প্রধান ম্যাক্রো আসে মাইম্যাক্রো, যা প্রধান কাজ সম্পাদন করবে – পদ্ধতি ব্যবহার করে বই পুনঃগণনা করা আবেদন. গণনা. এটিকে আরও পরিষ্কার করার জন্য, আমি A1 কক্ষের শীটে সূত্র =TDATE() যোগ করেছি, যা তারিখ এবং সময় প্রদর্শন করে – যখন পুনঃগণনা করা হয়, তখন এর বিষয়বস্তু আমাদের চোখের সামনে আপডেট করা হবে (কেবল সেকেন্ডের প্রদর্শন চালু করুন। বিন্যাস)। অতিরিক্ত মজার জন্য, আমি ম্যাক্রোতে একটি এলোমেলোভাবে নির্বাচিত রঙ দিয়ে সেল A1 পূরণ করার কমান্ডটিও যোগ করেছি (রঙের কোডটি 0..56 পরিসরের একটি পূর্ণসংখ্যা, যা ফাংশন দ্বারা তৈরি করা হয় rnd এবং একটি পূর্ণসংখ্যা ফাংশন পর্যন্ত বৃত্তাকার int).

ম্যাক্রো NextRun আগের মান যোগ করে TimeToRun আরও 3 সেকেন্ড এবং তারপর মূল ম্যাক্রোর পরবর্তী রানের সময়সূচী মাইম্যাক্রো এই নতুন সময়ের জন্য। অবশ্যই, অনুশীলনে, আপনি ফাংশন আর্গুমেন্ট সেট করে আপনার প্রয়োজনে অন্য যেকোনো সময়ের ব্যবধান ব্যবহার করতে পারেন টাইম ভ্যালু hh:mm:ss বিন্যাসে।

এবং অবশেষে, শুধুমাত্র সুবিধার জন্য, আরো ক্রম লঞ্চ ম্যাক্রো যোগ করা হয়েছে। হোম এবং এর সমাপ্তি শেষ. শেষটি ক্রম ভাঙতে চতুর্থ পদ্ধতির যুক্তি ব্যবহার করে। সময় সমান মিথ্যা.

ম্যাক্রো চালালে মোট হোম, তাহলে এই পুরো ক্যারোজেলটি ঘুরবে, এবং আমরা শীটে নিম্নলিখিত ছবিটি দেখতে পাব:

আপনি যথাক্রমে ম্যাক্রো চালিয়ে ক্রমটি বন্ধ করতে পারেন শেষ. সুবিধার জন্য, আপনি কমান্ড ব্যবহার করে উভয় ম্যাক্রোতে কীবোর্ড শর্টকাট বরাদ্দ করতে পারেন ম্যাক্রো - বিকল্প ট্যাব ডেভেলপার (ডেভেলপার — ম্যাক্রো — বিকল্প).

একটি সময়সূচীতে একটি ম্যাক্রো চালানো

অবশ্যই, উপরে বর্ণিত সমস্ত কিছুই তখনই সম্ভব যদি আপনার Microsoft Excel চালু থাকে এবং আমাদের ফাইলটি এতে খোলা থাকে। এখন আসুন একটি আরও জটিল কেস দেখি: আপনাকে একটি প্রদত্ত সময়সূচী অনুসারে এক্সেল চালাতে হবে, উদাহরণস্বরূপ, প্রতিদিন 5:00 টায়, এটিতে একটি বড় এবং জটিল প্রতিবেদন খুলুন এবং এতে সমস্ত সংযোগ এবং প্রশ্ন আপডেট করুন যাতে এটি হবে আমরা কর্মস্থলে পৌঁছানোর সময় প্রস্তুত থাকুন 🙂

এমন পরিস্থিতিতে ব্যবহার করাই ভালো উইন্ডোজ শিডিউলার - একটি প্রোগ্রাম বিশেষভাবে উইন্ডোজের যেকোনো সংস্করণে নির্মিত যা একটি সময়সূচীতে নির্দিষ্ট ক্রিয়া সম্পাদন করতে পারে। প্রকৃতপক্ষে, আপনি ইতিমধ্যে এটি না জেনেই এটি ব্যবহার করছেন, কারণ আপনার পিসি নিয়মিত আপডেটের জন্য পরীক্ষা করে, নতুন অ্যান্টি-ভাইরাস ডেটাবেস ডাউনলোড করে, ক্লাউড ফোল্ডারগুলিকে সিঙ্ক্রোনাইজ করে ইত্যাদি। সবই শিডিউলারের কাজ। তাই আমাদের কাজ হল বিদ্যমান কাজের সাথে আরেকটি যোগ করা যা এক্সেল চালু করবে এবং এতে নির্দিষ্ট ফাইল খুলবে। এবং আমরা ইভেন্টে আমাদের ম্যাক্রো ঝুলিয়ে দেব ওয়ার্কবুক_ওপেন এই ফাইলটি - এবং সমস্যাটি সমাধান করা হয়েছে।

আমি এখনই আপনাকে সতর্ক করতে চাই যে শিডিউলারের সাথে কাজ করার জন্য উন্নত ব্যবহারকারীর অধিকারের প্রয়োজন হতে পারে, তাই আপনি যদি অফিসে আপনার কাজের কম্পিউটারে নীচে বর্ণিত কমান্ড এবং ফাংশনগুলি খুঁজে না পান তবে সাহায্যের জন্য আপনার IT বিশেষজ্ঞদের সাথে যোগাযোগ করুন৷

সিডিউলার চালু করা হচ্ছে

তাই এর সময়সূচী শুরু করা যাক. এটি করতে, আপনি করতে পারেন:

  • বাটনে রাইট ক্লিক করুন শুরু এবং নির্বাচন করুন কম্পিউটার ব্যবস্থাপনা (কম্পিউটার ব্যবস্থাপনা)
  • কন্ট্রোল প্যানেলে নির্বাচন করুন: প্রশাসন - টাস্ক শিডিউলার (কন্ট্রোল প্যানেল — প্রশাসনিক সরঞ্জাম — টাস্ক শিডিউলার)
  • প্রধান মেনু থেকে নির্বাচন করুন স্টার্ট - আনুষাঙ্গিক - সিস্টেম টুলস - টাস্ক শিডিউলার
  • প্রেস কীবোর্ড শর্টকাট জয়+Rপ্রবেশ করান taskschd.msc এবং টিপুন প্রবেশ করান

The following window should appear on the screen (I have an English version, but you can also have a version):

সময়মতো ম্যাক্রো চালানো

একটি কাজ তৈরি করুন

একটি সাধারণ ধাপে ধাপে উইজার্ড ব্যবহার করে একটি নতুন টাস্ক তৈরি করতে, লিঙ্কটিতে ক্লিক করুন একটি সহজ টাস্ক তৈরি করুন (বেসিক টাস্ক তৈরি করুন) ডান প্যানেলে।

উইজার্ডের প্রথম ধাপে, তৈরি করা টাস্কের নাম এবং বিবরণ লিখুন:

সময়মতো ম্যাক্রো চালানো

বাটনে ক্লিক করুন পরবর্তী (পরবর্তী) এবং পরবর্তী ধাপে আমরা একটি ট্রিগার নির্বাচন করি - লঞ্চ ফ্রিকোয়েন্সি বা একটি ইভেন্ট যা আমাদের টাস্ক চালু করবে (উদাহরণস্বরূপ, কম্পিউটার চালু করা):

সময়মতো ম্যাক্রো চালানো

যদি আপনি বেছে নেন দৈনিক (ডেইলি), তারপর পরবর্তী ধাপে আপনাকে একটি নির্দিষ্ট সময় নির্বাচন করতে হবে, ক্রম এবং ধাপের শুরুর তারিখ (প্রতি ২য় দিন, ৫ম দিন, ইত্যাদি):

সময়মতো ম্যাক্রো চালানো

পরবর্তী ধাপ হল একটি ক্রিয়া বেছে নেওয়া - প্রোগ্রাম চালান (একটি প্রোগ্রাম শুরু করুন):

সময়মতো ম্যাক্রো চালানো

এবং অবশেষে, সবচেয়ে আকর্ষণীয় বিষয় হল ঠিক কি খোলার প্রয়োজন:

সময়মতো ম্যাক্রো চালানো

মধ্যে প্রোগ্রাম বা স্ক্রিপ্ট (প্রোগ্রাম/স্ক্রিপ্ট) আপনাকে একটি প্রোগ্রাম হিসাবে মাইক্রোসফ্ট এক্সেলের পাথ প্রবেশ করতে হবে, অর্থাত্ সরাসরি এক্সেল এক্সিকিউটেবলে। উইন্ডোজ এবং অফিসের বিভিন্ন সংস্করণ সহ বিভিন্ন কম্পিউটারে, এই ফাইলটি বিভিন্ন ফোল্ডারে থাকতে পারে, তাই এর অবস্থান খুঁজে বের করার জন্য এখানে কয়েকটি উপায় রয়েছে:

  • ডেস্কটপে বা টাস্কবারে এক্সেল চালু করতে আইকনে (শর্টকাট) ডান-ক্লিক করুন এবং কমান্ডটি নির্বাচন করুন উপকরণ (সম্পত্তি), এবং তারপরে যে উইন্ডোটি খোলে, লাইন থেকে পথটি অনুলিপি করুন লক্ষ্য:

    সময়মতো ম্যাক্রো চালানো                      সময়মতো ম্যাক্রো চালানো

  • যেকোনো এক্সেল ওয়ার্কবুক খুলুন, তারপর খুলুন কাজ ব্যবস্থাপক (কাজ ব্যবস্থাপক) ঠেলাঠেলি জন্য ctrl+অল্টার+থেকে এবং লাইনে ডান ক্লিক করে মাইক্রোসফট এক্সেল, একটি কমান্ড নির্বাচন করুন উপকরণ (সম্পত্তি). যে উইন্ডোটি খোলে, আপনি পথটি অনুলিপি করতে পারেন, এটিতে একটি ব্যাকস্ল্যাশ এবং শেষে EXCEL.EXE যোগ করতে ভুলবেন না:

    সময়মতো ম্যাক্রো চালানো              সময়মতো ম্যাক্রো চালানো

  • এক্সেল খুলুন, কীবোর্ড শর্টকাট দিয়ে ভিজ্যুয়াল বেসিক সম্পাদক খুলুন অল্টার+F11, খোলা প্যানেল আশু সংমিশ্রণ জন্য ctrl+G, এতে কমান্ড লিখুন:

    ? আবেদন।পথ

    … এবং ক্লিক করুন প্রবেশ করান

    সময়মতো ম্যাক্রো চালানো

    ফলস্বরূপ পথ অনুলিপি করুন, এটিতে একটি ব্যাকস্ল্যাশ এবং শেষে EXCEL.EXE যোগ করতে ভুলবেন না.

মধ্যে আর্গুমেন্ট যোগ করুন (ঐচ্ছিক) (আর্গুমেন্ট যোগ করুন (ঐচ্ছিক)) আমরা যে ম্যাক্রো খুলতে চাই তা দিয়ে আপনাকে বইটির সম্পূর্ণ পথ সন্নিবেশ করতে হবে।

সবকিছু প্রবেশ করানো হলে, তারপর ক্লিক করুন পরবর্তী এবং তারপর শেষ (সমাপ্ত). কাজটি সাধারণ তালিকায় যুক্ত করা উচিত:

সময়মতো ম্যাক্রো চালানো

ডানদিকের বোতামগুলি ব্যবহার করে তৈরি কাজটি পরিচালনা করা সুবিধাজনক। এখানে আপনি কাজটি অবিলম্বে চালিয়ে পরীক্ষা করতে পারেন (চালান)নির্দিষ্ট সময়ের জন্য অপেক্ষা না করে। আপনি সাময়িকভাবে একটি টাস্ক নিষ্ক্রিয় করতে পারেন (অক্ষম)যাতে এটি একটি নির্দিষ্ট সময়ের জন্য চলা বন্ধ করে দেয়, যেমন আপনার ছুটি। ঠিক আছে, আপনি সবসময় বোতামের মাধ্যমে প্যারামিটার (তারিখ, সময়, ফাইলের নাম) পরিবর্তন করতে পারেন উপকরণ (সম্পত্তি).

একটি ফাইল খুলতে একটি ম্যাক্রো যোগ করুন

এখন এটি আমাদের বইতে ফাইল খোলার ইভেন্টে প্রয়োজনীয় ম্যাক্রোর লঞ্চটি ঝুলিয়ে রাখা বাকি রয়েছে। এটি করতে, বইটি খুলুন এবং কীবোর্ড শর্টকাট ব্যবহার করে ভিজ্যুয়াল বেসিক সম্পাদকে যান অল্টার+F11 বা বোতাম ভিসুয়াল বেসিক ট্যাব ডেভেলপার (বিকাশকারী). উপরের বাম কোণায় যে উইন্ডোটি খোলে, আপনাকে গাছে আমাদের ফাইলটি খুঁজে বের করতে হবে এবং মডিউলটি খুলতে ডাবল-ক্লিক করতে হবে। এই বই (এই ওয়ার্কবুক).

আপনি যদি ভিজ্যুয়াল বেসিক এডিটরে এই উইন্ডোটি দেখতে না পান, তাহলে আপনি মেনুর মাধ্যমে এটি খুলতে পারেন দেখুন — প্রজেক্ট এক্সপ্লোরার.

খোলে মডিউল উইন্ডোতে, শীর্ষে ড্রপ-ডাউন তালিকা থেকে এটি নির্বাচন করে একটি বই খোলা ইভেন্ট হ্যান্ডলার যোগ করুন কার্যপুস্তিকা и খোলাযথাক্রমে:

সময়মতো ম্যাক্রো চালানো

একটি পদ্ধতি টেমপ্লেট পর্দায় উপস্থিত হওয়া উচিত। ওয়ার্কবুক_ওপেন, যেখানে লাইনের মধ্যে ব্যক্তিগত সাব и শেষ উপ এবং আপনাকে সেই VBA কমান্ডগুলি সন্নিবেশ করতে হবে যা এই এক্সেল ওয়ার্কবুকটি খোলার সময় স্বয়ংক্রিয়ভাবে কার্যকর করা উচিত, যখন সময়সূচী অনুযায়ী এটি খোলে। ওভারক্লকিংয়ের জন্য এখানে কিছু দরকারী বিকল্প রয়েছে:

  • এই ওয়ার্কবুক।সকল রিফ্রেশ করুন – সমস্ত বাহ্যিক ডেটা কোয়েরি, পাওয়ার কোয়েরি কোয়েরি, এবং PivotTables রিফ্রেশ করে। সবচেয়ে বহুমুখী বিকল্প। শুধু ডিফল্টরূপে বাহ্যিক ডেটাতে সংযোগের অনুমতি দিতে ভুলবেন না এবং এর মাধ্যমে লিঙ্কগুলি আপডেট করুন৷ ফাইল – অপশন – ট্রাস্ট সেন্টার – ট্রাস্ট সেন্টার অপশন – এক্সটার্নাল কন্টেন্ট, অন্যথায়, আপনি যখন বইটি খুলবেন, তখন একটি স্ট্যান্ডার্ড সতর্কতা প্রদর্শিত হবে এবং এক্সেল, কিছু আপডেট না করে, বোতামে ক্লিক করার আকারে আপনার আশীর্বাদের জন্য অপেক্ষা করবে। কন্টেন্ট সক্রিয় করুন (কন্টেন্ট সক্রিয় করুন):

    সময়মতো ম্যাক্রো চালানো

  • ActiveWorkbook.Connections(“Connection_Name”).রিফ্রেশ করুন — Connection_Name সংযোগে ডেটা আপডেট করা হচ্ছে।
  • শীট("শীট5PivotTables("PivotTable1«).PivotCache.Refresh - নামের একটি একক পিভট টেবিল আপডেট করা হচ্ছে PivotTable1 শীটে পত্রক 5.
  • আবেদন. গণনা - সমস্ত খোলা এক্সেল ওয়ার্কবুকগুলির পুনঃগণনা।
  • Application.CalculateFullRebuild – সমস্ত সূত্রের জোরপূর্বক পুনঃগণনা এবং সমস্ত খোলা ওয়ার্কবুকের কোষগুলির মধ্যে সমস্ত নির্ভরতা পুনর্নির্মাণ (সমস্ত সূত্র পুনরায় প্রবেশ করার সমতুল্য)।
  • ওয়ার্কশীট("রিপোর্ট")।প্রিন্টআউট - প্রিন্ট শীট দা.
  • MyMacro কল করুন - নামে একটি ম্যাক্রো চালান মাইম্যাক্রো.
  • এই ওয়ার্কবুক. সংরক্ষণ করুন - বর্তমান বই সংরক্ষণ করুন
  • ThisWorkbooks.SaveAs “D:ArchiveReport” এবং প্রতিস্থাপন (এখন, “:”, “-“) & “.xlsx” - বইটি একটি ফোল্ডারে সংরক্ষণ করুন ডি: আর্কাইভ নামের নিচে দা নামের সাথে তারিখ এবং সময় যুক্ত করা হয়েছে।

আপনি যদি চান যে ম্যাক্রোটি কেবলমাত্র যখন ফাইলটি শিডিউলার দ্বারা 5:00 টায় খোলা হয়, এবং প্রত্যেকবার কাজের দিনের সময় ব্যবহারকারী ওয়ার্কবুকটি খোলে না, তাহলে একটি সময় চেক যোগ করা অর্থপূর্ণ হয়, উদাহরণস্বরূপ:

যদি ফরম্যাট(এখন, "hh:mm") = "05:00" তাহলে ThisWorkbook.RefreshAll  

এখানেই শেষ. আপনার ওয়ার্কবুককে একটি ম্যাক্রো-সক্ষম বিন্যাসে (xlsm বা xlsb) সংরক্ষণ করতে ভুলবেন না এবং আপনি নিরাপদে Excel বন্ধ করতে পারেন এবং আপনার কম্পিউটার চালু রেখে বাড়িতে যেতে পারেন। একটি নির্দিষ্ট মুহুর্তে (এমনকি পিসি লক করা থাকলেও), শিডিউলার এক্সেল চালু করবে এবং এতে নির্দিষ্ট ফাইলটি খুলবে এবং আমাদের ম্যাক্রো প্রোগ্রাম করা ক্রিয়া সম্পাদন করবে। এবং আপনি বিছানায় বিলাসিতা করবেন যখন আপনার ভারী প্রতিবেদন স্বয়ংক্রিয়ভাবে পুনরায় গণনা করা হবে - সৌন্দর্য! 🙂

  • ম্যাক্রো কি, কিভাবে ব্যবহার করতে হয়, এক্সেলে ভিজ্যুয়াল বেসিক কোড কোথায় ঢোকাতে হয়
  • কিভাবে Excel এর জন্য আপনার নিজস্ব ম্যাক্রো অ্যাড-ইন তৈরি করবেন
  • এক্সেলে আপনার ম্যাক্রোগুলির জন্য একটি লাইব্রেরি হিসাবে ব্যক্তিগত ম্যাক্রো ওয়ার্কবুকটি কীভাবে ব্যবহার করবেন

নির্দেশিকা সমন্ধে মতামত দিন