۱۰ کاری که بدون برنامه نویسی VBA قادر به انجامش نبودید .
سلام به سافت پلاس خوش آمدید . امروز می خواهیم در مورد برنامه نویسی VBA در نرم افزار های آفیس با هم صحبت کنیم .
وقتی در کار با نرم افزار آفیس مثل اکسس یا اکسل و یا حتی وُرد به سطح مهارتی بالایی می رسید کم کم اصطلاحی به اسم برنامه نویسی VBA به گوشتان می خورد .
اینجاست که متوجه می شوید که در داخل این نرم افزار ها می شود برنامه نویسی هم کرد .
اما همین ابتدای کار یک سوال مهم در ذهن شما شکل می گیرد . آن هم این است که :
” من که با امکانات خود نرم افزار اکسس یا اکسل و یا حتی WORD هر کاری را که می خواهم می توانم انجام بدهم پس چه نیازی به این دارم که بخواهم در داخل این نرم افزار ها برنامه نویسی هم بکنم ؟”
یا اصلا اگر من وقت بگذارم و زبان برنامه نویسی VBA را یاد بگیرم قرار است که چه کارهای بیشتری را بتوانم انجام بدهم که در حالت معمولی توسط امکانات خود این نرم افزار ها انجام آن کارها نشدنی است ؟
من هم امروز می خواهم در این مطلب دقیقا پاسخ همین سوال را بدهم . اینکه :
” چه کارهایی هست که فقط با استفاده از برنامه نویسی VBA می شود آن کارها را در داخل نرم افزار های آفیس انجام داد ؟ ”
من علیرضا شهرآئینی هستم و خوشحال می شوم اگر تا انتهای این مطلب همراه باشید تا تمام دانسته های خودم را در این مورد به شکلی کاملا ساده با شما به اشتراک بگذارم .
اینجا می خواهم 20 تا کار را از دو تا نرم افزار اکسل و اکسس مثال بزنم که فقط و فقط به کمک کد نویسی وی بی ای می توانید آن کارها را برای خودتان انجام بدهید .
یادتان باشد که این جا سافت پلاس است و در سافت پلاس این سادگی است که حرف اول را می زند .
پس با من همراه باشید .
کار شماره 1: استفاده از تاریخ شمسی در اکسس فقط با کدهای VBA
کارهای زیادی در اکسس هستند که اگر بخواهید آنها را در انجام بدهید فقط باید دست به دامان برنامه نویسی و کدهای VBA بشوید . چون خود اکسس در حالت پایه هیچ امکانی برای انجام این کارها را فراهم نکرده است .
این یکی از چالش برانگیزترین چیزهایی که کاربران اکسس خیلی با آن سر و کار دارند مساله تاریخ شمسی و کار با آن در اکسس است .
من و شما که با زبان فارسی سر و کار داریم و اطلاعات خودمان را در قالب این زمان ذخیره می کنیم مطمئنا نیاز به استفاده از تاریخ شمسی هم داریم .
اما اکسس در حالت پیش فرض خودش از تقویم هجری شمسی هیچ پشتیبانی نمی کند . حالا دو تا حالت پیش می آید .
حالت اول این است که نمی خواهید که محاسبات خاصی را بر روی تاریخ انجام بدهید . مثلا نمی خواهید تفضل دو تا تاریخ را بدست بیاورید . یا مثلا نمی خواهید بدانید که مثلا تاریخ بیست و سوم از ماه گذشته چند شنبه بوده است .
اینجا کارتان راحت است و می توانید تاریخ را در قالب یک دیتا تایپ یا نوع داده عددی یا حتی متن برای خودتان ذخیره کنید .
اگر می پرسید که منظور از دیتا تایپ یا نوع داده چیست توصیه می کنم حتما مطلب انواع داده ها در اکسس و آشنایی کامل با آنها را مطالعه کنید . توی این مطلب هر چه در مورد دیتا تایپ های اکسس لازم دارید را می توانید مطالعه کنید .
اما برویم به سراغ حالت دوم . این حالت وقتی است که شما نیاز به انجام محاسبات بر روی داده های نوع تاریخ را داشته باشید .
مثلا فرض کنید بخواهید که اکسس به صورت خودکار تاریخ انقضای یک محصول را که در قالب تاریخ شمسی است برایتان حساب کند .
البته اگر شما مشکلی نداشته باشید اکسس با استفاده از تاریخ میلادی هیچ مشکلی ندارد و خیلی هم راحت همه محاسبات را در قالب این تاریخ برایتان انجام می دهد .
اما اگر بخواهید از تاریخ شمسی برای محاسبات خودتان استفاده کنید اکسس در این زمینه هیچ کمکی به شما نمی تواند بکند . چون همانطور که گفتم اکسس از تاریخ شمسی هیچ پشتیبانی نمی کند .
پس چاره کار در چیست ؟
تنها راه چاره این است که به سراغ برنامه نویسی VBA در اکسس بروید و با استفاده از کدهای آن قابلیتی را ایجاد کنید تا اکسس تاریخ شمسی را بشناسد و شما بتوانید از آن در پروژه های خودتان استفاده کنید .
البته که کار آسانی نیست و نیاز به مهارت بالا در کد نویسی وی بی ای دارید . اما اگر می خواهید به آسانی و بدون هیچ دردسری از تاریخ شمسی در اکسس استفاده کنید به شما توصیه می کنم به بخش محصولات سایت رفته و نگاهی به محصول انتخابگر تاریخ شمسی در اکسس بیندازید .
در این محصول همه چیز برای استفاده از تاریخ شمسی در اکسس برای شما حاضر و آماده است و بدون هیچ گونه کد نویسی می توانید از قابلیت استفاده از تاریخ شمسی در اکسس استفاده کنید .
کار شماره-2 : نمایش ساعت بصورت زنده در فرم های اکسس
در داخل اکسس چند تا تابع وجود دارد که می توانیم از آنها برای نمایش زمان بر روی فرم خودمان استفاده کنید .
این توابع زمان آخرین تغییرات را برای ما ثبت می کنند یعنی ثابت هستند و حالت داینامیک و زنده ندارند .
اما فرض کنید که ما احتیاج به یک ساعت زنده داشته باشیم که توسط آن زمان بصورت لحظه ای به کاربرمان نمایش داده شود .
اما اکسس به تنهایی از عهده این کار بر نمی آید و باز هم تنها چاره کار این است که به سراغ کدهای VBA رفته و با استفاده از آنها این قابلیت جدید را برای خودمان در اکسس تعریف کنیم .
من این کار را در مطلب نمایش ساعت دیجیتال در اکسس با استفاده از کدنویسیVBA انجام داده ام .
خیلی ساده و راحت است کافی است خودتان به این مطلب مراجعه کنید تا خودتان متوجه این موضوع بشوید .
کار شماره-3 : خوش آمد گویی به کاربران اکسس
تا حالا دقت کردید که وقتی نرم افزار اکسس رو اجرا می کنید توی اولین قدم یک پنجره ورود به شما نمایش داده می شود . این پنجره شامل بخش های مختلفی است اما من فقط با یک قسمت از آن کار دارم .
به تصویر زیر نگاه کنید .
متوجه شدید که منظور من کدام قسمت است ؟ آن چیزی که در کادر مشخص کرده ام یک پیغام خوش آمد گویی از طرف اکسس است . خاصیت این پیغام هم این است که بر اساس ساعت های مختلف شبانه روز تغییر می کند .
حالا ما هم می خواهیم یک همچین کاری را در داخل فرم های خودمان انجام بدهیم . یعنی یک پیغام مناسب را متناسب با ساعت های مختلف شبانه روز به کاربرمان نمایش بدهیم .
خُب فکر می کنید که چطوری می شود این کار را انجام داد ؟ خود این اکسس که این قابلیت را در اختیار ما قرار نمی دهد اما می توانیم با استفاده از یک سری کدهای خیلی ساده وی بی ای این قابلیت را برای خودمان تعریف و از آن در پروژه هایمان استفاده کنیم .
اما اینکه این کدها چی هستند و چه جوری می شود از آنها استفاده کرد را می توانید در مطلب زیر همه چیز را راجع به آنها مطالعه کنید . توصیه می کنم که حتما به این مطلب مراجعه کنید .
مطلب مرتبط : نمایش پیغام خوش آمد گویی به کاربران در اکسس
تا به اینجا چند تا از کارهایی که در اکسس فقط با استفاده از کدهای وی بی ای می شود انجام داد را بررسی کردیم . در ادامه به سراغ اکسل می رویم و خواهیم دید چه کارهایی هستند که فقط به کمک کدهای وی بی ای می شود آنها را انجام داد .
کارهایی در اکسل که فقط با کدهای VBA می شود انجام داد
اینجا با هم چند تا مثال ساده از کارهایی که در اکسل فقط با استفاده از کدهای وی بی ای می توانید آنها را انجام بدهید را با هم بررسی می کنیم .
انتخاب سطر و ستون مربوط به سلول فعال
می خواهید یک کار جالب را در اکسل انجام بدهید ؟ می پرسید چه کاری ؟
این کار جالب این است که هر وقت شما در داخل یک شیت کاری یک سلول را انتخاب می کنید اکسل بصورت خودکار کل سطر و ستون مربوط به آن سلول را برای شما هایلایت می کند .
دیدگاهتان را بنویسید