کاربرد Application Object در ماکرونویسی اکسل

کاربرد Application Object در ماکرونویسی اکسل

کاربرد Application Object در ماکرونویسی اکسل

بطور ساده و خلاصه Application Object مادر تمامی Objects موجود در نرم افزار اکسل است لذا کنترل بیشتری روی فایل اکسل خواهد داشت. به چندین مثال کاربردی در خصوص این Object دقت نمایید.

WorksheetFunction object

با استفاده از Application.WorksheetFunction قادر به استفاده از توابع صفحه گسترده در محیط ماکرونویسی خواهیم بود. به ماکروی زیر دقت کنید:

Sub excellearn()
Range("A3").Value = Application.WorksheetFunction.Sum(Range("A1:A2"))
End Sub

با اجرای ماکروی فوق، جمع سلول های A1 تا A2 در سلول A3 درج می گردد. خروجی بصورت زیر خواهد بود:

کاربرد Application Object در ماکرونویسی اکسل
کاربرد Application Object در ماکرونویسی اکسل

البته به منظور درج مستقیم تابع در صفحه گسترده میتوانیم بصورت زیر عمل کنیم:

Sub excellearn()
Range("A3").Value = "=Sum(A1:A2)"
End Sub

با اجرای ماکروی فوق، جمع سلول های A1 تا A2 در سلول A3 توسط تابع Sum محاسبه و خروجی آن بصورت زیر خواهد بود:

کاربرد Application Object در ماکرونویسی اکسل
کاربرد Application Object در ماکرونویسی اکسل

Application.ScreenUpdating property

با استفاده از Application Object قادر به مدیریت ScreenUpdating خواهید بود. به ماکروی زیر دقت کنید:

Sub excellearn()
Dim i As Integer
For i = 1 To 10000
Range("A1").Value = i
Next i
End Sub

با اجرای ماکروی فوق، شما در سلول A1 خروجی حلقه را قدم به قدم مشاهده خواهید کرد. حال اگر با استفاده از Application Object اقدام به غیرفعال کردن ScreenUpdating همانند ماکروی زیر کنید:

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 قادر به غیرفعال سازی آلارم های نرم افزار اکسل خواهید بود.

به ماکروی زیر دقت کنید:

Sub excellearn()
ActiveWorkbook.Close
End Sub

در ماکروی فوق ما توسط Close Method اقدام به بستن به Workbook فعال خواهیم نمود حال اگر تغییراتی در Workbook فعال داشته باشیم و آن را ذخیره نکرده باشیم، قطعا با پیام و آلارم زیر روبرو خواهیم شد:

کاربرد Application Object در ماکرونویسی اکسل
کاربرد Application Object در ماکرونویسی اکسل

به منظور حذف این نوع پیام و آلارم میتوانید مقدار DisplayAlerts را برابر با False قرار دهید:

Sub excellearn()
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub

 

حال با اجرای مجدد ماکروی فوق، دیگر با آلارم ذخیره سازی روبرو نخواهید شد و یا هنگام حذف یک Worksheet با صفحه زیر روبرو خواهید بود:

کاربرد Application Object در ماکرونویسی اکسل
کاربرد Application Object در ماکرونویسی اکسل

میتوانید با False قرار دادن مقدار DisplayAlerts از نمایش آن جلوگیری کنید:

Sub excellearn()
Application.DisplayAlerts = False
Worksheets("Sheet2").Delete
Application.DisplayAlerts = True
End Sub

فراموش نکنید که در پایان ماکرو، مقدار DisplayAlerts را مجدد به حالت True و حالت عادی برگردانید.

در ادامه ماکرویی از ترکیب DisplayAlerts property با Worksheet Events آماده نمودم که به کاربر اجازه اضافه نمودن Sheet جدید را نخواهد داد:

کاربرد Application Object در ماکرونویسی اکسل
کاربرد Application Object در ماکرونویسی اکسل

Application.Calculation property

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

کاربرد Application Object در ماکرونویسی اکسل
کاربرد Application Object در ماکرونویسی اکسل

مقادیر Calculation Property به ترتیب شامل :

Application.Calculation = xlCalculationAutomatic
Application.Calculation = xlCalculationsemiautomatic
Application.Calculation = xlCalculationManual

امیدواریم این پست آموزشی مورد رضایت شما عزیزان و کاربران محترم سایت اکسل لرن قرار گرفته باشد لذا در صورت وجود هرگونه انتقاد و پیشنهاد می توانید آن را در قسمت نظرات برای ما ارسال نمایید.

پیشنهاد ما :

فهرست مطالب