You are currently viewing ماژول در VBA | انواع ماژول و تفاوت بین ماژول و کلاس

ماژول در VBA | انواع ماژول و تفاوت بین ماژول و کلاس

ماژول ها در VBA بخش مهمی از پروژه را تشکیل می دهند. ویرایشگر VBE کدها را در ماژول ها ذخیره می نماید. در این بخش از آموزش های رایگان وب سایت ایران VBA قصد داریم که انواع مختلف ماژول در VBA و تفاوت بین آن ها را تشریح نماییم و به این سوال که ماژول چیست؟ پاسخ دهیم.

آیا می‌دانید:

با تسلط بر VBA، می‌توانید محاسبات و تحلیل‌های خود را به سطح جدیدی برسانید. این زبان به شما امکان می‌دهد تا ابزارهای قدرتمند و کارآمدی برای تسریع کارهای روزمره ایجاد کنید.

تعریف ماژول؟

پاسخ سوال ماژول چیست؟ طبق تعریف مایکروسافت در واژه نامه VBE این است که ماژول مجموعه ای از اعلان ها می باشد که بدنبال آن روال ها (procedures) می آید.

در انگلیسی ماژول به معنای یک مجموعه قطعات استاندارد، یا واحدهای مستقل که می توانند برای ساختن یک سازه پیچیده تر استفاده شوند،‌می باشد.

در برنامه نویسی نیز ماژول بعنوان قطعه نسبتا کاملی تعریف می شود که توسط برنامه نویس نوشته می شود و در برنامه های مختلف مورد استفاده قرار می گیرد.

در واقع ماژول بخشی از کد می باشد که بدون نیاز به سایر قسمت های دیگر وظیفه خود را بعنوان بخشی از اهداف برنامه یا پروژه انجام می دهد.

انواع ماژول در VBA

در تصویر زیر نمایی از طبقه بندی ماژول ها در VBE را مشاهده می نمایید.

طبقه بندی ماژول ها در VBE
طبقه بندی ماژول ها در VBE

همانطور که در شکل نیز مشاهده می نمایید VBE ماژول ها را در دو پوشه Modules و Class Modules طبقه بندی نموده است. در پوشه Modules ماژول های استاندارد و در پوشه Class Modules ماژول های کلاس طبقه بندی می شوند.

ماژول استاندارد (ماژول کد):

تعریفی که در بالا درباره ماژول گفته شد در VBA فقط در مورد ماژول استاندارد صدق می کند. ماژول استاندارد در VBA ماژولی است که شامل روال ها، نوع داده کاربر (type) و اعلان های عمومی می باشد.
سطح دسترسی در ماژول استاندارد بصورت پیش فرض عمومی (Public) می باشد. ماژول استاندارد در واقع جایگزین ماژول کد در نسخه های قبلی ویژول بیسیک می باشد.

کاربرد ماژول استاندارد

ماژول استاندارد دارای سطح دسترسی عمومی می باشد و در تمام پروژه در دسترس می باشد و متغیرها و روال هایی که در این نوع ماژول اعلان شوند در تمام پروژه در دسترس می باشند.

کاربرد ماژول استاندارد نیز در همین سطح دسترسی عمومی آن نهفته است، و دستورات و توابعی که قابلیت استفاده عمومی دارند و در تمام بخش های پروژه بکار می آیند.

دسترسی عمومی ماژول استاندارد آنرا به یک قطعه کد مستقل می نماید، که می توانید بدون هر گونه نیاز به دستکاری در کد آنرا در سایر پروژه ها نیز بکار برید.

بعنوان مثال فرض کنید در یک برنامه می خواهید اطلاعات کاربری شخصی که وارد برنامه شده است را در یک متغیر ذخیره نمایید، در این حالت متغیری نیاز دارید که در تمام پروژه در دسترس باشد و هر موقع به آن نیاز داشتید بتوانید مقادیر آن را استعلام کنید.

ماژول MYSQL و ماژول تاریخ شمسی VBA نمونه هایی از ماژول استاندارد می باشند که می توانید آنها را از فروشگاه ایران VBA تهیه و بدون دردسر در پروژه های آفیس خود بکار برید.

روش برنامه نویسی در ماژول استاندارد رویه ای (روال وار) می باشد. به این معنا که در ماژول استاندارد کدها به روال ها و زیرروال ها (سابروتین ها) تقسیم می شوند.

برای آشنایی بیشتر با روش برنامه نویسی رویه ای در VBA این آموزش را مطالعه نمایید.

مراحل ایجاد ماژول استاندارد در VBA

برای ایجاد یک ماژول استاندارد در اکسل یا اکسس باید مراحل زیر را طی نمایید:

  1. ویرایشگر کد VBA را در اکسل یا اکسس خود باز نمایید.

    چگونه ویرایشگر VBA را در اکسس و اکسل باز نمایم؟

  2. منوی Insert را باز نمایید و روی گزینه Module کلیک نمایید.

    VBE ماژول جدیدی با نام Module1 در پوشه Modules ایجاد می نماید. حالا می توانید کدهای موردنظر را در صفحه باز شده تایپ نمایید. پس از ذخیره اکسل یا اکسس می توانید نام موردنظرتان را به ماژول اختصاص دهید.درج ماژول استاندارد در VBA

ماژول کلاس

همانطور که در تعریف واژه نامه VBE بیان شده است، ماژول کلاس، ماژولی است که تعریف جزئیات یک کلاس می باشد. کلاس بسته ای است که در برنامه نویسی شیء گرا داده ها (خواص) و متدها (رفتارها) را محصور می نماید.

در آینده در مبحثی مستقل بصورت کامل راجع به برنامه نویسی شیء گرا در VBA صحبت خواهیم نمود.

تفاوت بین ماژول استاندارد و ماژول کلاس

  • ماژول کلاس در VBA تماما درباره اشیاء می باشد، در حالی که ماژول استاندارد یک کتابخانه از متدها (رفتارها) می باشد که در قالب روال ها در اختیار تمام بخش های پروژه قرار می گیرد.
  • ماژول کلاس با ایجاد یک شیء می تواند به هر تعداد که بخواهید تکثیر شود، در حالی که در ماژول استاندارد این قابلیت وجود ندارد.
  • روش برنامه نویسی در ماژول کلاس شیء گرا می باشد، در حالی که در ماژول استاندارد روش برنامه نویسی رویه ای حاکم می باشد.

دیدگاهتان را بنویسید