در آموزش قبل با شیء Workbook اکسل آشنا شدیم. در این آموزش می خواهیم با مهمترین رخدادهای شیء Workbook و نحوه ایجاد ماکرو برای کنترل این رویدادها در یک پروژه VBA آشنا شویم.
لیست رخدادهای شیء Workbook
در آموزش قبل گفتیم که رخداد (Event) یک عمل نظیر کلیک کردن یا فشردن یک کلید است که انجام آن توسط شیء Workbook تشخیص داده می شود و شما می توانید یک ماکرو برای پاسخ به آن بنویسید.
لیست مهمترین رخدادهای پشتیبانی شده توسط شیء Workbook به شرح زیر می باشد:
- Activate : وقتی که خود کاربرگ، یک صفحه (worksheet)، صفحه نمودار (chart) یا یک نمودار تعبیه شده در آن فعال شود، رخ می دهد.
- AfterSave : بعد از ذخیره کاربرگ رخ می دهد.
- BeforeClose : قبل از بسته شدن کاربرگ رخ می دهد.
- BeforePrint : قبل از پرینت گرفته شدن کاربرگ (یا هر چیزی که داخل آن قرار دارد) رخ می دهد.
- BeforeSave : قبل از ذخیره شدن کاربرگ رخ می دهد.
- Deactivate : وقتی که کاربرگ یا صفحه یا نمودار واقع شده در آن غیر فعال شود رخ می دهد.
- NewChart : وقتی که یک نمودار جدید در کاربرگ ایجاد شود رخ می دهد.
- NewSheet : وقتی که یک صفحه جدید در کاربرگ ایجاد شود رخ می دهد.
- Open : وقتی که کاربرگ باز شود رخ می دهد.
- SheetActivate : وقتی که یکی از صفحات کاربرگ فعال شود رخ می دهد.
- SheetBeforeDelete : قبل از اینکه یک صفحه کاربرگ بخواهد حذف شود رخ می دهد.
- SheetBeforeDoubleClick : قبل از دوبار کلیک روی هر کدام از صفحات کاربرگ رخ می دهد.
- SheetBeforeRightClick : قبل از راست کلیک روی هر کدام از صفحات کاربرگ رخ می دهد.
- SheetCalculate : بعد از هر محاسبه مجدد در کاربرگ رخ می دهد.
- SheetChange : وقتی که سلول یا چند سلول در هر کدام از صفحات کاربرگ تغییر کند رخ می دهد.
- SheetDeactivate : وقتی که هر کدام از صفحات کاربرگ غیر فعال شود رخ می دهد.
- SheetSelectionChange : وقتی که یک محدوده انتخاب شده در هر کدام از صفحات کاربرگ تغییر کند رخ می دهد.
- SheetTableUpdate : وقتی که یک جدول در هر کدام از صفحات بروز شود رخ می دهد.
- WindowActivate : وقتی که پنجره کاربرگ فعال شود رخ می دهد.
- WindowDeactivate : وقتی که پنجره کاربرگ غیرفعال شود رخ می دهد.
- WindowResize : وقتی که اندازه پنجره کاربرگ تغییر کند رخ می دهد.
لیست کامل رویدادهای شیء Workbook اکسل را می توانید در این لینک مشاهده نمایید.
نحوه ایجاد ماکرو رخداد Workbook
ماکرو رخداد Workbook در کد شیء ThisWorkbook پروژه VBA اکسل ایجاد و ذخیره می شوند.
بعنوان مثال اگر ماکروی زیر را در شیء ThisWorkbook یک پروژه VBA ذخیره نمایید در صورتی که اطلاعات ذخیره نشده ای در کاربرگ وجود داشته باشد، بطور خودکار عملیات ذخیره قبل از بسته شدن کاربرگ را انجام می شود.
Private Sub Workbook_BeforeClose(Cancel as Boolean)
If Me.Saved = False Then Me.Save
End Sub