خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش برنامه نویسی اکسل : مدل شیء (Object Model)

آموزش برنامه نویسی اکسل : مدل شیء (Object Model)
نویسنده : امیر انصاری
مدل شیء (Object Model) در اکسل، قلب و روح چگونگی استفاده از VBA در اکسل می باشد. در حالی که VBA زبان برنامه نویسی اکسل می باشد، همچین زبان برنامه نویسی برنامه های آفیس مانند ورد، اکسس، پاور پوینت و اوت لوک نیز می باشد. اگر چه همۀ این برنامه های کاربردی توسط VBA قابل برنامه نویسی هستند، هر کدامشان نیازمندی های برنامه نویسی خاص خودشان را دارند، چون هر کدام از آنها نرم افزار جداگانه ای هستند و طراحی شده اند تا کارکردهای مخصوص خودشان را داشته باشند. اکسل نمی تواند مشابه آنچه که در اوت لوک وجود دارد ایمیل ها را دریافت کند، و ورد نمی تواند گزارشاتی را از پایگاه داده، مشابه اکسس تولید کند.

سیستم یکپارچۀ سازمانی راهکار



هر عملی که در VBA انجام می دهید، دستوری را از درون مدل شیء (Object Model) اکسل ارسال می کند. مدل شیء (Object Model) یک لیست بزرگ از اشیاء است که به اکسل مرتبط هستند، مانند برگه ها (worksheets)، سلول ها (cells)، محدوده ها (ranges)، نمودارها (charts) و غیره. کد VBA شما که در ماکروتان قرار دارد و یک برگه (worksheet) را به یک فایل اکسل (workbook) اضافه می کند برای اکسل معنا دارد، چون با اشیائی کار می کند که این اشیاء در مدل شیء (Object Model) اکسل ارائه شده اند. برای مثال همین ماکرو که یک برگه را اضافه می کند در اوت لوک (Outlook) کار نخواهد کرد. مدل شیء (Object Model) ارائه شده در اوت لوک (Outlook) شامل برگه ها (worksheets) نمی باشد، چرا که اوت لوک (Outlook) یک برنامه برای نگهداری ایمیل ها و قرار ملاقات ها می باشد و نه برگه ها (worksheets).

مدل شیء (Object Model) در هر برنامه VBA در طراحی دارای سلسله مراتبی می باشد. در مدل شیء (Object Model) اکسل، شیء Application در بالای این مدل قرار دارد، چرا که کل برنامه کاربردی اکسل را شامل می شود. در زیر شیء Application یک گروه کامل از سایر اشیاء قرار دارد، یکی از این اشیاء، شیء Workbook می باشد. در زیر شیء Workbook، شیء Worksheet قرار دارد، و در زیر شیء Worksheet اشیاء دیگری همچون Range و Cell و ... قرار دارند.

نتیجه این ساختار سلسله مراتبی این می شود که دستورات صحیح در ماکروهای شما مشخص می شوند. برای مثال، اگر قصد دارید تا کلمۀ "Hello" را در سلول A1 که خود این سلول در برگۀ Sheet1 از workbook جاری می باشد، قرار بدهید، خط کدی که می تواند این مساله را مدیریت کند می تواند خط کد زیر باشد:

Application.ActiveWorkbook.Worksheets(“Sheet1”).Range(“A1”).Value = “Hello”

زبان VBA یک زبان هوشمند می باشد. اگر شما یک شیء Workbook مشخص کنید، می داند که شما مشغول کار با اکسل هستید. همچنین اگر یک شیء Worksheet مشخص کنید می داند که مشغول کار با یک شیء Workbook هستید. برای همین خط کدی که کمی قبل نوشتیم را می توانیم به شکل خلاصه شدۀ زیر نیز بنویسیم:

Worksheets(“Sheet1”).Range(“A1”).Value = “Hello”

اگر شما مشغول کار بر روی Sheet1 هستید، این کد می تواند حتی از این هم خلاصه تر بشود. اگر شیء Worksheet پدر در کد مشخص نشود، VBA به صورت پیش فرض، worksheet فعال را در نظر می گیرد و کلمۀ Hello را در سلول A1 از worksheet جاری قرار می دهد:

Range(“A1”).Value = “Hello”

در محیط برنامه نویسی شیء گرا، هر عنصری را که می بینید به عنوان یک شیء در نظر بگیرید، حال این عنصر یک سلول، یک دکمه، یک ردیف، یک پنجره، و حتی خود برنامه اکسل باشد.

هنگامی که با استفاده از VBA یک شیء را به workbook خود اضافه می کنید، مثلاً ماکرویی را ایجاد می کنید که یک شیء Chart را می سازد، در پشت صحنۀ ماجرا اطلاعاتی در مورد شیء Chart ذخیره می گردد، و مقادیر پیش فرضی به ویژگی های آن انتساب داده می شود که در ماکروی شما مشخص نشده بودند. من این مساله را به عنوان یک خبر خوب که کار شما را تسهیل می کند، یاد آوری کردم.


آموزش قبلی : آموزش برنامه نویسی اکسل : مروری بر برنامه نویسی شیء گرا (OOP)

آموزش بعدی : آموزش برنامه نویسی اکسل : ویژگیها (properties)



نمایش دیدگاه ها (1 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.