کاربرد Application Object در ماکرونویسی اکسل
بطور ساده و خلاصه Application Object مادر تمامی Objects موجود در نرم افزار اکسل است لذا کنترل بیشتری روی فایل اکسل خواهد داشت. به چندین مثال کاربردی در خصوص این Object دقت نمایید.
WorksheetFunction object
با استفاده از Application.WorksheetFunction قادر به استفاده از توابع صفحه گسترده در محیط ماکرونویسی خواهیم بود. به ماکروی زیر دقت کنید:
1 2 3 |
Sub excellearn() Range("A3").Value = Application.WorksheetFunction.Sum(Range("A1:A2")) End Sub |
با اجرای ماکروی فوق، جمع سلول های A1 تا A2 در سلول A3 درج می گردد. خروجی بصورت زیر خواهد بود:

البته به منظور درج مستقیم تابع در صفحه گسترده میتوانیم بصورت زیر عمل کنیم:
1 2 3 |
Sub excellearn() Range("A3").Value = "=Sum(A1:A2)" End Sub |
با اجرای ماکروی فوق، جمع سلول های A1 تا A2 در سلول A3 توسط تابع Sum محاسبه و خروجی آن بصورت زیر خواهد بود:

Application.ScreenUpdating property
با استفاده از Application Object قادر به مدیریت ScreenUpdating خواهید بود. به ماکروی زیر دقت کنید:
1 2 3 4 5 6 |
Sub excellearn() Dim i As Integer For i = 1 To 10000 Range("A1").Value = i Next i End Sub |
با اجرای ماکروی فوق، شما در سلول A1 خروجی حلقه را قدم به قدم مشاهده خواهید کرد. حال اگر با استفاده از Application Object اقدام به غیرفعال کردن ScreenUpdating همانند ماکروی زیر کنید:
1 2 3 4 5 6 7 8 |
Sub excellearn() Dim i As Integer Application.ScreenUpdating = False For i = 1 To 10000 Range("A1").Value = i Next i Application.ScreenUpdating = True End Sub |
دیگر قادر به مشاهده لحظه به لحظه نتایج ماکرو نخواهید بود لذا این عمل باعث افزایش سرعت اجرای ماکروی شما خواهد شد.
DisplayAlerts property
با استفاده از DisplayAlerts property قادر به غیرفعال سازی آلارم های نرم افزار اکسل خواهید بود.
به ماکروی زیر دقت کنید:
1 2 3 |
Sub excellearn() ActiveWorkbook.Close End Sub |
در ماکروی فوق ما توسط Close Method اقدام به بستن به Workbook فعال خواهیم نمود حال اگر تغییراتی در Workbook فعال داشته باشیم و آن را ذخیره نکرده باشیم، قطعا با پیام و آلارم زیر روبرو خواهیم شد:

به منظور حذف این نوع پیام و آلارم میتوانید مقدار DisplayAlerts را برابر با False قرار دهید:
1 2 3 4 5 |
Sub excellearn() Application.DisplayAlerts = False ActiveWorkbook.Close Application.DisplayAlerts = True End Sub |
حال با اجرای مجدد ماکروی فوق، دیگر با آلارم ذخیره سازی روبرو نخواهید شد و یا هنگام حذف یک Worksheet با صفحه زیر روبرو خواهید بود:

میتوانید با False قرار دادن مقدار DisplayAlerts از نمایش آن جلوگیری کنید:
1 2 3 4 5 |
Sub excellearn() Application.DisplayAlerts = False Worksheets("Sheet2").Delete Application.DisplayAlerts = True End Sub |
فراموش نکنید که در پایان ماکرو، مقدار DisplayAlerts را مجدد به حالت True و حالت عادی برگردانید.
در ادامه ماکرویی از ترکیب DisplayAlerts property با Worksheet Events آماده نمودم که به کاربر اجازه اضافه نمودن Sheet جدید را نخواهد داد:

Application.Calculation property
با استفاده از Application Object قادر به تنظیم نحوه محاسبات (Calculation) در صفحه گسترده اکسل خواهیم بود.

مقادیر Calculation Property به ترتیب شامل :
1 2 3 |
Application.Calculation = xlCalculationAutomatic Application.Calculation = xlCalculationsemiautomatic Application.Calculation = xlCalculationManual |
امیدواریم این پست آموزشی مورد رضایت شما عزیزان و کاربران محترم سایت اکسل لرن قرار گرفته باشد لذا در صورت وجود هرگونه انتقاد و پیشنهاد می توانید آن را در قسمت نظرات برای ما ارسال نمایید.