اجرای خودکار ماکرو در اکسل

اگر یادتون باشه ما در بحث UserForm یاد گرفتیم که چگونه یک یوزرفرم ایجاد و اجرا کنیم.در بحث مربوط به WorkBook هم با نحوه مخفی کردن فایل اکسل و نمایش یوزرفرم آشنا شدیم.و در پست مربوط به فرم لاگین با کاربردهای این دو آموزش آشنا شدیم.اکنون می خواهیم با تکیه بر آموزش های گفته شده نحوه اجرای خودکار ماکرو در اکسل را یاد بگیریم و ببینیم کجاها کاربرد دارد.

این بحث کاملا به آموزش های گفته شده در بالا وابسته است.پس اگر با مباحث بالا آشنا نیستید ابتدا حتما آنها را مطالعه کنید.

اجرای خودکار ماکرو در اکسل
کاری که قرار است انجام دهیم

هدف از آموزش اجرای خودکار ماکرو در اکسل:

کاری که در این آموزش قصد داریم انجام دهیم این است که می خواهیم زمانی که نرم افزار اکسل اجرا می شود ابتدا یک فرم خوش آمدگویی باز شود سپس بعد از 3 ثانیه بصورت اتوماتیک بسته شده و فرم لاگین برای ما نمایش داده شود.

ایجاد macro برای اجرای خودکار کدهای اکسل

برای اجرای خودکار ماکرو در اکسل ابتدا یک UserForm ایجاد کرده نام آنرا WelcomeForm قرار داده و داخل این فرم با استفاده از لیبل ها متن پیام خودتون رو یادداشت کنید. سپس به محیط VBA رفته و از قسمت Insert یک Module ایجاد کرده و بعد از باز کردن ماژول کد زیر را داخل آن کپی کنید مانند شکل شماره 1 .

حتما بخوانید:   فرم لاگین در اکسل چگونه طراحی می شود؟
نحوه-نمایش-فرم-لاگین-در-اکسل
شکل شماره 1 – کدنویسی اجرای فرم

در کد بالا macro1 نام ماکروی شماست که میتونید به دلخواه به هر نامی تغییر بدین.اکنون روی فرم WelcomeForm کلیک راست کرده و گزینه View Code رو بزنید تا صفحه کدنویسی باز بشه.حالا در رویداد Activate کد زیر رو قرار بدید مانند شکل شماره 2 .

اجرای خودکار ماکرو در اکسل
شکل شماره 2 – تعیین رویداد یوزرفرم زمان اجرا

تشریح دستور اجرای اتوماتیک کد در اکسل

  • Application : اشاره به خود نرم افزار اکسل دارد.
  • OnTime : با این زیر کد می توان یک زمان معین برای یک رویداد را تعیین کرد.
  • Now : اشاره به زمان فعلی سیستم دارد.
  • TimeValue : با این کد می توان یک زمان را مستقیم تعریف کرد.
  • macro1 : نام ماکرویی هست که قبلا ایجاد کرده بودیم و ممکنه هر نامی به خودش بگیره.این قسمت باعث اجرای خودکار ماکرو میشه.
حتما بخوانید:   باکس جستجو در اکسل بصورت پیشرفته با توابع جستجو

درواقع با کد بالا می گوییم که 3 ثانیه بعد از اینکه فرم WelcomeForm اجرا شد، کدهای داخل macro1 رو اجرا کن.حالا از اونجایی که داخل ماکرو1 کد Login_Form.Show رو نوشتیم پس یوزرفرم WelcomeForm بصور اتوماتیک اجرا و نمایش داده می شود.

اکنون از پنجره سمت چپ روی گزینه ThisWorkbook کلیک راست نموده و گزینه View Code رو بزنید تا صفحه کدنویسی باز بشه.حالا در رویداد Open کد زیر رو قرار بدید مانند شکل شماره 3 .

کدنویسی مخفی کردن اکسل و نمایش یوزرفرم خوش آمدگویی
شکل شماره 3 – کدنویسی مخفی کردن اکسل و نمایش یوزرفرم خوش آمدگویی

از این به بعد وقتی شما فایلتون رو باز می کنید ابتدا فرم خوش آمدگویی (WelcomeForm) باز شده و بعد از مدت 3 ثانیه بصورت اتوماتیک بسته می شود و بعد یوزرفرم Login_Form نمایش داده می شود.اما مشکلی که اینجا وجود داره این هست که ممکنه کاربر خیلی سریع روی آیکون ضربدر فرم کلیک کنه و فرم رو زودتر از زمان 3 ثانیه ببنده که ما باید این مشکل رو حل کنیم.

حتما بخوانید:   حذف سلول خالی محدوده در اکسل فقط با چند کلیک

برای اینکار روی WelcomeForm کلیک راست نموده و گزینه View Code رو بزنید تا صفحه کدنویسی باز بشه.حالا در رویداد QueryClose کد زیر رو قرار بدید مانند شکل شماره 4.

غیرغعال کردن دکمه ضربدر یوزرفرم
شکل شماره 4 – غیرغعال کردن دکمه ضربدر یوزرفرم

این کد باعث میشه تا دکمه ضربدر قرمز برای بستن فرم غیرفعال بشه.



منبع : https://docs.microsoft.com

اشتراک گذاری:
مطالب زیر را حتما بخوانید

پاسخی بگذارید