عملگرها در ویژوال بیسیک

با عملگرها (Operators) در محیط اکسل در مقاله ی فرمول نویسی در اکسل آشنا شدیم، در اکسل، عملگرها به دو دسته ی عملگرهای مقایسه ای و عملگرهای عملیاتی تقسیم می شدند، عملگرها در ویژوال بیسیک علاوه بر عملگرهای مقایسه ای و عملیاتی، شامل عملگرهای منطقی نیز میباشند که مانند عملگرهای مقایسه ای نتیجه ی آنها یک متغیر Boolean (متغیری که مقدار آن True یا False است) میباشد. برخی عملگرها در ویژوال بیسیک و محیط اکسل یکسان هستند و تفاوتی با هم ندارند، در ادامه به تفصیل در این مورد صحبت خواهیم نمود.

عملگرها در ویژوال بیسیک

دسته بندی عملگرها در ویژوال بیسیک

شکل زیر تمام عملگرها در ویژوال بیسیک (Operators in VBA) را نشان میدهد، همانطور که قبلاً اشاره شد عملگرها در ویژوال بیسیک به سه دسته ی مقایسه ای (Comparison)، عملیاتی (Arithmetic) و منطقی (Logical) تقسیم میشوند:

انواع عملگرها در ویژوال بیسیک

عملگرهای عملیاتی در ویژوال بیسیک

با عملگرا یا اپراتورهای عملیاتی آشنا هستیم، این عملگرها برای انجام اعمال ریاضی مورد استفاده قرار میگیرند، عملگر تقسیم صحیح یا Integer Division یا \ مانند تقسیم معمولی عمل مینماید با این تفاوت که تنها جز صحیح “خارج قسمت” تقسیم را نمایش میدهد و عملگر Mod برای بدست آوردن باقیمانده تقسیم یک عدد بر عدد دیگر استفاده میشود، مانند تابع Mod که در توابع ریاضی در اکسل با آن اشنا شدیم.

عملگر & برای در کنار هم قرار دادن دو متغیر رشته ای یا عددی مورد استفاده قرار میگیرد و معادل تابع CONCATENATION در توابع متنی در اکسل عمل میکند.

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

عملگر & (String Concatenation) عملاً یک عملگر عملیاتی محسوب نمیگردد ولی به این علت که در اولویت بندی عملگرها، اولویتی بالاتر ازتمام عملگرهای مقایسه ای و منطقی دارد در دسته بندی ها جز عملگرهای عملیاتی قرار میگیرد.

 

عملگرهای منطقی در ویژوال بیسیک

با عملگر ها یا اپراتورهای منطقی کم و بیش آشنا هستیم، خروجی این عملگرها متغیر Boolean است، دو عبارت در سمت چپ و راست یک عملگر منطقی از نظر ویژوال بیسیک یا True هستند و یا False، البته Null هم حالت سومی است که در بررسی عملگرهای منطقی با آن سر و کار داریم. Syntax کلی عملگرهای منطقی مشابه زیر است:

با توجه به True، False و یا Null بودن هریک از Expression1 یا Expression2 و با توجه به نوع عملگر به کار رفته بین این دو، خروجی مورد نظر (مقدار Result که میتواند True، False و یا Null باشد) بدست میاید. عملگرهای منطق در ادامه مورد بررسی قرار گرفته اند.

عملگرهای منطقی در ویژوال بیسیک

اپراتور Not در ماکرو نویسی در اکسل

سینتکس این اپراتور به صورت زیر است:

خروجی اپراتور Not در جدول زیر نشان داده شده است:

عملگر Not در ویژوال بیسیک

اپراتور AND در ماکرو نویسی در اکسل

سینتکس اپراتور AND به صورت زیر است:

خروجی اپراتور AND در جدول زیر نشان داده شده است:

عملگر AND در ماکرو نویسی

عملگرها در ویژوال بیسیک

اپراتور Or در ماکرو نویسی در اکسل

سینتکس اپراتور  Or به صورت زیر است:

خروجی اپراتور Or در جدول زیر نشان داده شده است:

عملگر Or در ماکرو نویسی

اپراتور Xor در ماکرو نویسی در اکسل

سینتکس اپراتور  Xor به صورت زیر است:

اگر تنها یک و فقط یکی از دو Expression درست (True) باشد، خروجی برابر True است. در صورتی که هریک از عبارات (Expressions) نول (Null) باشد، خروجی Null است. خروجی اپراتور Xor در جدول زیر نشان داده شده است:

عملگر Xor در ویژوال بیسیک

اپراتور Eqv در ماکرو نویسی در اکسل

این اپراتور دقیقاً برعکس اپراتور Xor عمل میکند. سینتکس اپراتور Eqv یا Logical Equivalence به صورت زیر است:

 

در صورتی که هریک از عبارات (Expressions) نول (Null) باشد، خروجی Null است، در غیر اینصورت خروجی اپراتور Eqv در جدول زیر نشان داده شده است:

اپراتور Eqv در ویژوال بیسیک

به عبارتی، اگر هر دو Expression1 و Expression2 به صورت یکسان باشند (هر دو True باشند یا هر دو False باشند) خروجی این عملگر True است، در غیر اینصورت False است.

اپراتور Imp در ماکرو نویسی در اکسل

سینتکس اپراتور  اپراتور Imp یا Logical Implication به صورت زیر است:

خروجی اپراتور Imp در جدول زیر نشان داده شده است:

اپراتور Imp در ماکرو نویسی در اکسل

عملگرها در ویژوال بیسیک

عملگرهای مقایسه ای در ویژوال بیسیک

با عملگرهای مقایسه ای آشنا هستیم، عملگرهای  > ، <  ، <>،  = ، => و =< کاربرد مشخصی دارند و همواره در کد نویسی ها مورد استفاده قرار گرفته اند، از این عملگرها برای مقایسه بین اعداد استفاده میشود. نکته ی مهم در مورد این عملگرها اینست که در صورتی که هریک از طرفین مقایسه شده با یکدیگر Null باشد، خروجی مقایسه برابر با Null خواهد بود.

عملگرهای مقایسه ای در ویژوال بیسیک

دو عملگر Is و Like علاوه بر عملگرهای مقایسه ای شناخته شده در ویژوال بیسیک وجود دارند، در این بخش این دو عملگر مورد بررسی قرار میگیرند:

عملگر Is در ویژوال بیسیک

این عملگر برای مقایسه ی دو Object یا شی در کدهای ویژوال بیسیک مورد استفاده قرار میگیرد. سینتکس این عملگر مانند زیر است:

 

در صورتی که هر دو Object به یک object اشاره کنند خروجی مقایسه برابر True و در غیر اینصورت False خواهد بود.

عملگر Like در ویژوال بیسیک

این عملگر برای مقایسه ی دو String در کدهای ویژوال بیسیک مورد استفاده قرار میگیرد. سینتکس این عملگر مانند زیر است:

 

در صورتی که String با Pattern یکسان باشد خروجی مقایسه برابر True و در غیر اینصورت False خواهد بود. اگر هریک از String یا Pattern برابر Null باشد، خروجی مقایسه Null خواهد بود.

اشتراک گذاری در شبکه های اجتماعی: share on facebook share on google plus share on linkedin

دیدگاهتان را بنویسید؟