در پست های قبلی با متغیرها، چگونگی اعلان و روش های آن آشنا شدیم. در این بخش از آموزش های رایگان وی بی ای قصد داریم با ثابت ها و نحوه اعلان آنها آشنا شویم و بدانیم که چرا ثابت ها را در کدهای VBA خود بکار می بریم؟
تعریف
کد شما ممکن است شامل مقادیر ثابتی باشد که غالبا تکرار می شوند یا هم ممکن است بستگی به اعداد مشخصی داشته باشد که به سختی یادآوری شوند و معنای واضحی نداشته باشد.
با استفاده از ثابت ها می توانید کد VBA خود را خواناتر و نگهداری و اصلاح آن را آسانتر نمایید. یک ثابت یک نام معنادار است که بجای یک عدد یا رشته قرار می گیرد و تغییر نمی نماید.
بعنوان مثال فرض کنید که می خواهید نرخ مالیات بر ارزش افزوده را برای محاسبه مبلغ مالیات بر ارزش افزوده در کد خود بکار ببرید. اگر شما در هر جایی که می خواهید ارزش افزوده را محاسبه کنید نرخ را تایپ نمایید در صورتی که نرخ مالیات عوض شود با یک مشکل جدی برای اصلاح کدهای خود روبرو خواهید بود.
برخلاف متغیر، یک ثابت در حین اجرای کد نمی تواند اصلاح شود و یا مقدار جدیدی به آن اختصاص یابد.
طبق تعریف واژه نامه VBE ثابت در زبان برنامه نویسی VBA یک بخش نامگذاری شده است که در طول اجرای برنامه مقدار ثابتی را حفظ می نماید.
یک ثابت می تواند یک لفظ (لیترال) رشته ای یا عددی، سایر ثابت ها، یا هر ترکیبی که شامل عملگرهای منطقی یا حسابی بجز Is و توان باشد.
انواع ثابت
- ثابت های ذاتی، یا ثابت های تعریف شده توسط سیستم، که توسط برنامه های کاربردی و کنترل ها تدارکت دیده شده اند. سایر برنامه های کاربردی نظیر مایکروسافت اکسس (Access)، اکسل (Excel)، پروژه (Project) و ورد (Word) که کتابخانه اشیاء را فراهم آورده اند، لیستی از ثابت های که شما می توانید همراه اشیاء، روشها و خواص مربوط به هر کتابخانه بکار ببرید را نیز فراهم کرده اند. شما می توانید لیست ثابت های متعلق به هر کتابخانه اشیاء را در مرورگر شیء مشاهده نمایید.
ثابت های ویژوال بیسیک در مرورگر شیء زیر کتابخانه VBA (ویژوال بیسیک برای برنامه کاربردی) و کتابخانه DAO (Data Access Object) لیست شده اند.
- ثابت های نمادین یا ثابت های تعریف شده توسط کاربر، که با استفاده از دستور Const اعلان شده اند و موضوع این پست می باشند.
- ثابت مشروط کامپایلر که با استفاده از دستور Const# اعلان شده اند. (دستورالعمل)
اعلان ثابت در VBA
همانطور که گفته شد بوسیله یک ثابت شما می توانید یک نام معنادار را به یک مقدار اختصاص دهید. شما می توانید ثابت ها را با استفاده از دستور Const در VBA اعلان و مقدار آن را تعیین نمایید. بعد از اینکه یک ثابت اعلان شد، مقدار آن نمی تواند اصلاح و یا مقدار جدیدی به آن اختصاص یابد.
شما می توانید ثابت را داخل روال و یا در بالای ماژول در قسمت اعلان آن، اعلان نمایید. ثابت های سطح ماژول بصورت پیش فرض دسترسی خصوصی (Private) دارند. برای اعلان یک ثابت سطح ماژول با دسترسی عمومی (Public)، کلمه کلیدی Public را مقدم بر دستور Const استفاده نمایید. همچنین می توانید ثابت های خصوصی را نیز با استفاده از کلمه کلید Private مقدم بر دستور Const استفاده نمایید تا خواندن و تفسیر کدتان ساده تر شود. توضیحات بیشتر در خصوص میدان دید در بخش های بعدی آموزش به شما ارائه خواهد گردید.
در مثال زیر ثابت عمومی conAge
از نوع داده عددی Integer و به مقدار 34 اعلان شده است.
Public Const conAge As Integer = 34
ثابت ها می توانند بعنوان یکی از انواع داده Boolean، Byte، Integer، Long، Currency، Single، Double، Date، String یا Variant اعلان شوند. از آنجایی که مقدار یک ثابت مشخص می باشد، شما می توانید نوع داده آن را نیز در دستور Const اعلان نمایید.
شما می توانید چندین ثابت را در یک خط و با استفاده از یک دستور Const اعلان نمایید. برای تعیین نوع داده می بایست، نوع داده را برای هر ثابت جداگانه تعیین نمایید.
Const conAge As Integer = 34, conWage As Currency = 35000
Microsoft Docs
Declaring constants
Using constants
بیشتر بخوانید
توابع توکار VBA | لیست کامل توابع داخلی در ویژوال بیسیک
عملگرهای VBA | انجام عملیات روی داده ها و ایجاد عبارت ها
حلقه در VBA | ایجاد حلقه برای تکرار دستورات در ویژوال بیسیک
کدهای VBA | آشنایی با کدها و دستور زبان برنامه نویسی VBA
دستور IF | اجرای مشروط کد با استفاده از عبارت های شرطی و منطقی
آرایه در VBA | آرایه ها و کاربرد آن ها در برنامه نویسی
میدان دید متغیر در VBA | نحوه دسترسی به متغیرها در قسمت های مختلف پروژه