خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
آموزش برنامه نویسی اکسل : مدل شیء (Object Model)


هر عملی که در 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)
مطالب مرتبط :
- رفع ارور You are trying to open a file type در نرم افزار Visio
- مدیریت لیست auto-complete در outlook
- حذف آدرس ایمیل از لیست Autocomplete در Outlook
دیدگاه ها(1)
دیدگاه خود را ثبت کنید:

رفع ارور You are trying to open a file type در نرم افزار Visio
مدیریت لیست auto-complete در outlook
حذف آدرس ایمیل از لیست Autocomplete در Outlook
نمودار میله ای در اکسل - نحوه ایجاد نمودار نواری برای نمایش اطلاعات در excel
نحوه تهیه پوستر در پاورپوینت - راهکاری مناسب برای جذب مخاطب
آموزش نرم افزار آفیس - کاربردی ترین نرم افزارهای Microsoft Office
بهترین کتاب آموزش اکسل — معرفی جامع ترین کتاب های Excel
نمودار میله ای در اکسل + آموزش ایجاد و شخصی سازی
آزمون آنلاین icdl1 + دانلود نمونه سوالات آزمون ICDL
آموزش داشبورد مدیریتی در اکسل — همراه با نکات کاربردی + مثال
نحوه پنهان یا نمایش دادن سرچ دسکتاپ در ویندوز 11
نحوه سوئیچ کردن بین اسپیکر و هدفون در ویندوز
نحوه انتقال taskbar ویندوز 10 به هر طرف صفحه نمایش
نحوه انتقال Taskbar به بالا، چپ، راست ویندوز 11
نحوه تغییر ضخامت و پهنای اسکرول بار در ویندوز 10/11
افزودن، حذف و تغییر چیدمان آیتم ها در Quick settings ویندوز 11

sh.knight.9 ۱۳۹۹/۱۱/۲۷
از شما بزرگوار بی نهایت سپاس گزارم.