You are currently viewing کدهای VBA | آشنایی با کدها و دستور زبان برنامه نویسی VBA

کدهای VBA | آشنایی با کدها و دستور زبان برنامه نویسی VBA

VBA نیز مانند هر زبان برنامه نویسی دیگر شامل یکسری دستورات و عملیات می باشد، در آموزش های قبلی سایت آشنا شدیم کدهای VBA در ویرایشگر VBE نوشته و در ماژول ها ذخیره می شوند. در این بخش از آموزش های رایگان وب سایت ایران VBA قصد داریم با ارائه یک نمونه کد VBA برخی از مشخصات کدهای VBA را با هم بررسی نماییم.

توجه داشته باشید هدف از این پست یاد دادن کدنویسی نمی باشد بلکه فقط منظور آشنایی با فضای کد نویسی VBA می باشد.

نکته
احتمالا بخش های زیادی از کد زیر برای شما نامفهوم باشد، اصلا نگران نباشید در آموزش های بعدی بصورت کامل با آنها آشنا خواهید شد. در حال حاضر این کد فقط برای آشنایی اولیه شما با کدهای VBA می باشد.

نکته
کدهای VBA که در ویرایشگر کد VBE نوشته می شوند فاقد شماره خط می باشند. شماره خطوط آورده شد در زیر فقط برای خوانایی بیشتر کدها می باشد.

Option Explicit
Dim i As Integer
Dim j As Integer
'تابع برای تبدیل اعداد ماه های شمسی به نام آنها
Public Function numericMonth_to_name(bytMonth As Byte) As String
Select Case bytMonth
	Case 1
		numericMonth_to_name = "فروردین"
	Case 2
		numericMonth_to_name = "اردیبهشت"
	Case 3
		numericMonth_to_name = "خرداد"
	Case 4
		numericMonth_to_name = "تیر"
	Case 5
		numericMonth_to_name = "مرداد"
	Case 6
		numericMonth_to_name = "شهریور"
	Case 7
		numericMonth_to_name = "مهر"
	Case 8
		numericMonth_to_name = "آبان"
	Case 9
		numericMonth_to_name = "آذر"
	Case 10
		numericMonth_to_name = "دی"
	Case 11
		numericMonth_to_name = "بهمن"
	Case 12
		numericMonth_to_name = "اسفند"
End Select
End Function

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

در این مقطع همین قدر کافیست بدانید که کد بالا شماره ماه را دریافت می نماید و با استفاده از تابع numericMonth_to_name (خط ۶) به نام فارسی آن تبدیل می نماید.

تحلیل کد

در کد بالا چندین مشخصه اصلی کدهای VBA به شرح زیر مشاهده می شود:

کلمات معنادار انگلیسی

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

کلمات آبی

کلمات آبی کلمات کلیدی VBA می باشند، کلمات کلیدی در ویرایشگر متنی VBA بصورت خودکار برنگ آبی (در صورتی که دستور بدرستی تایپ شده باشد) نمایش داده می شوند.

این ویژگی ویرایشگر VBA این امکان را به شما می دهد تا اشتباهات تایپی حین نوشتن کدهای VBA را تا حد زیادی کاهش دهد.

خطوط خالی

خط شماره ۴ یک خط خالی می باشد. خطوط خالی توسط کامپایلر VBA نادیده گرفته می شوند.

توجه داشته باشید ویرایشگر VBA به صورت خودکار فواصل خالی در میان کدهای VBA را اصلاح می نماید.

خطوط توضیحی

خط شماره ۵ نمونه ای از قالب خطوط توضیحی VBA می باشد. خطوط توضیحی با (‘) (single quotes) شروع می شوند.

علامت (‘) (single quotes) به کامپایلر اعلام می نماید که جملات بعد از آن تا شروع خط بعدی جزء کدهای VBA نیستند و باید توسط کامپایلر نادیده گرفته شوند.

توجه داشته باشید که خطوط توضیحی کمک شایانی به افزایش خوانایی برنامه شما خواهد نمود.

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

پایان خطوط

تمام کدهای VBA در یک خط شروع و در همان خط پایان یافته اند. در VBA پایان هر خط کد با زدن کلید Enter در ویرایشگر کد (VBE) مشخص می شود و هیچ علامتی در پایان خطوط مثل سایر زبان های برنامه نویسی گذاشته نمی شود (بعنوان نمونه در زبان برنامه نویسی پی‌اچ‌پی و جاوااسکریپت علامت ; (نقطه‌ویرگول یا Semicolon) نمایانگر پایان یک خط کد می باشد).

در صورتی که بخواهید یک کد را در دو خط بنویسید حتما بایستی از علامت _ (زیرخط یا Underscore) استفاده نمایید تا به کامپایلر اعلام نمایید که این خط کد پایان نیافته است و خط زیرین ادامه خط قبلی می باشد.

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