سفارشی سازی مسیج باکس ها به کمک برنامه نویسی VBA

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

در برنامه نویسی VBA  ما یک تابعی داریم به اسم MsgBox . این تابع یک تابع بسیار مهم و کاربردی در برنامه نویسی وی بی ای است که خیلی جاها از آن استفاده می کنیم .

خیلی از برنامه ها  از جمله خود مفسر زبان VBA  هم خیلی از پیغام های خود را در قالب مسیج باکس ها برای کاربر به نمایش می گذارد .

پس مسیج باکس ها هم می توانند از طرف خود برنامه استفاده شوند و هم اینکه می توانیم ما آنها را ایجاد کنیم .

اینجا نمی خواهیم در مورد اینکه چه جوری یک مسیج باکس را ایجاد کنیم صحبتی کنیم . بلکه امروز می خواهیم کار متفاوتی را برای ایجاد مسیج باکس ها انجام دهیم .

اگر از ظاهر ثابت و یکنواخت کادرهای پیغام خود در همه حالت ها خسته شده اید ؟

اگر این سوال برای شما پیش آمده است که آیا می شود تغییراتی را در ساختار و شکل ظاهری کادرهای پیغام ایجاد کرد ؟

و اینکه اگر این کارها شدنی است چه جوری می شود این کار را انجام داد پس در جای درستی قرار گرفته اید و در حال مطالعه مطلب درستی هستید .

من علیرضا شهرآئینی هستم و در این آموزش به شما خواهم گفت که چطور می شود در ساختار و شکل ظاهری کادرهای پیغام خود تغییراتی را اعمال کنید کاری که مطمئنا برای شما هم جالب خواهد بود و هم کاربردی .

پس تا انتهای این مطلب من را همراهی کنید .

سفارشی سازی مسیج باکس ها

مراحل انجام سفارشی سازی مسیج باکس ها

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

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

مثلا در ساختار آنها از دکمه ها استفاده می کنیم یا متن ها و نوشته هایی که در ساختار مسیج باکس ها هستند جزو بخش های مهم یک مسیج باکس هستند . 

اما در این بین چیزی که وجود دارد در حالت عادی ما نمی توانیم هیچ کدام از این بخش ها را تغییر دهیم . مثلا اگر متن یک دکمه OK  باشد ما نمی توانیم آن را به مقدار دیگری تغییر دهیم . 

  یا در مورد نوشته ها و متن های موجود در بدنه مسیج باکس ها در حالت عادی امکان تغییر رنگ آنها برای ما وجود ندارد .

امروز و در این آموزش دقیقا می خواهیم راجع به همین تغییرات با هم صحبت کنیم .

یعنی اینکه چه جوری می شود رنگ نوشته ها را تغییر دهیم و اینکه چه جوری رنگ متن ها را در تکس باکس های خود تغییر دهیم .

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

۱- تغییر رنگ نوشته های موجود در مسیج باکس

می دانیم رنگ نوشته های مربوط به مسیج باکس ها در همه حالات به رنگ مشکی می باشد .در اینجا می خواهیم بدانیم که چه جوری

می شود رنگ مورد نظر خود را برای این متن ها اختصاص دهیم . 

برای این کار احتیاج به یک سری از کدها داریم . من این کدها را از با اندکی جستجو از اینترنت یافته ام و با کمی تغییرات از آنها در اینجا استفاده می کنم .

اول بیایید نگاهی به کدهای زیر بکنیم .

اما این کدها چی هستند ؟

این کدها کدهایی هستند که از API  ویندوز استفاده می کنند . حالا اینکه این API  چی هستند خودش مطلب جدایی است . فقط همین قدر بدانید که با استفاده از این کدها به برخی توابع داخلی ویندوز دسترسی پیدا می کنیم .

این کدها قرار است هم برای ویندوز ۳۲ بیتی و هم ویندوز ۶۴ بیتی به راحتی کار کنند . این کدها را کپی کنید و در داخل یک ماژول ذخیره کنید .

حالا به سراغ کدهای دیگری می رویم .

به کدهای زیر نگاه کنید .

اینجا چه اتفاقی می افتد و  این کدها چه کار می کنند? این کدها اول رنگ فونت پیش فرض متن های سیستم ما را  در خود ذخیره

می کند .

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

در گام بعدی یک مسیج باکس دیگر ایجاد می شود که در  آن رنگ نوشته ها به رنگ سبز خواهد بود .

بعد از انجام این تغییرات خط آخر از این کدها مجددا رنگ پیش فرض را به سیستم برمی گرداند.

سفارشی سازی مسیج باکس ها

بنابراین مشاهده می کنید که به راحتی با استفاده از این کدها می توانیم رنگ مورد نظر خود را در متن کادرهای پیغام تغییر دهیم .

درگام بعدی به سراغ این خواهیم رفت که چه جوری عنوان دکمه هایی را که بر روی مسیج باکس ما قرار دارد را تغییر داده و آنها را به صورت فارسی شده درآوریم .

۲- تغییر عنوان دکمه ها در یک Message box

تابع Msgbox  دارای یک سری از پارامترها می باشد یکی از این پارامترها مربوط به تعیین نوع دکمه هایی است که بر روی کادر پیغام برای کاربر نمایش داده می شوند .

مثلا به کد زیر توجه کنید .

خروجی کدهای بالا کادر پیغامی خواهد بود مانند تصویر زیر .

 

سفارشی سازی مسیج باکس ها

 

تابع مسیج باکس بصورت پیش فرض دارای ۷ نوع مختلف از دکمه ها می باشد .ما می توانیم بنا به نیاز خود هر کدام از این دکمه ها را انتخاب و بر روی کادر پیغام خود نمایش دهیم .

اما در حالت معمولی ما نمی توانیم متنی را که بر روی هر کدام از این دکمه ها قرار دارند را تغییر دهیم . حالا ما کاری که قرار است بکنیم این است که عنوان موجود بر روی دو دکمه ای را که در تصویر بالا مشاهده می کنید را به عناوین فارسی تغییر دهیم .

برای این کار باز هم باید از برنامه نویسی وی بی ای کمک بگیریم .

برای شروع زیر کدهای زیر را نگاه کنید .

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

فقط آن چیزی که برای ما مهم است کاری است که این کدها قرار است برای ما انجام دهند . ما با استفاده از کدها می توانیم عنوان دکمه های مورد نظر را بر روی دکمه های خود تغییر دهیم .

اما چطوری ؟

فرض کنید که ما در یک روال چندین خط از کدها را داریم . در بخشی از این روال هم یک مسیج باکس را ایجاد کرده ایم که قرار است پیغامی را به کاربر نمایش دهد .

اجازه دهید از اینجا به بعد را با هم بر روی یک پروژه خیلی کوچک کار کنیم . برای این کار به فرم زیر نگاه کنید .

 سفارشی سازی مسیج باکس ها

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

اما قبل از ثبت شدن اطلاعات یک کادر پیغام به کاربر نمایش داده می شود و از کاربر تائیدیه نهایی را می گیرد . اگر دقت کنید دکمه های موجود بر روی این مسیج باکس بصورت فارسی درج شده اند .

من برای ایجاد این پروژه کوچک کدهای زیر را در رویداد مربوط به On Click  دکمه خود نوشته ام .

در انتها نتیجه کار شبیه تصویر زیر خواهد بود .

سفارشی سازی مسیج باکس ها

 

 می بینید که با استفاده از قدرت و جادوی برنامه نویسی به راحتی توانستیم تغییرات مورد نظر خود را در زمینه سفارشی سازی مسیج باکس ها به سرانجام برسانیم . 

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

حالا می رسیم به انتهای این آموزش . در اینجا چند نکته را می خواهم بیان کنم .

اول از دوستانی که پرسش ؛ سوال یا ابهامی در مورد این مطلب دارند می توانند سوالات خود را در بخش نظرات درج کنند تا در اولین فرصت پاسخ داده شود .

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

دوستانی هم که می خواهند نمونه فایل آموزشی مربوط به این مطلب را داشته باشند کافی است نام خود به همراه آدرس ایمیل خود را در کادر زیر وارد کنید . نمونه فایل بصورت خودکار به ایمیل شما ارسال خواهد شد . 

سفارشی سازی مسیج باکس ها

 

برنامه نویسی VBA بازدید : 239 views 24 اکتبر, 2020 ۰