15-05-2022, 05:08 PM
یچ چیزی خالی از عیب نیست. در کنار مزایای زیادی که VBA دارد استفاده از آن هم میتواند معایبی داشته باشد که دانستن این معایب برای شما خیلی مفید هست.
زبان VBA آنقدر قدرتمند هست که برای هر کسی که آن را آموخته بسیار وسوسه کننده هست. بارها شده است که با استفاده از VBA رمز فایل های اکسل را شکسته ایم. این کار باعث میشود برای انجام هر کاری مستقیم به سراغ VBA بروید. اما قبل از شروع موارد زیر را بدانید:
بعضی اوقات نوشتن، آزمایش کردن و عیب یابی کدها زمان بیشتری نسبت به استفاده از ابزارهای اکسل نیاز دارد.
زبان VBA قدرت تطبیق کمتری در کدنویسی نسبت به اکسل دارد. این به چه معنی هست؟ فرض کنید شما در یک سلول فرمولی نوشتید و به یک سلول یا محدوده دیگر در یک شیت دیگر ارجاع داده اید. بعد از این کار نام شیت رو عوض میکنید، اکسل به صورت خودکار نام شیت را در فرمول ها اصلاح میکند و نام جدید را قرار میدهد اما در VBA این کار انجام نمیشود!!! به این معنی که اگر چیزی را از قبل تعریف کرده اید و حالا نامش را بعد از نوشتن کدها عوض کرده اید، باید بگردید و نام جدید را جایگزین نام قدیم آن کنید (این میتواند کار را خیلی سخت کند).
زمانیکه یک فایل حاوی کد VBA رو باز میکنید یک پیغام امنیتی نمایش داده میشود (البته این پیغام بستگی به تنظیمات امنیتی اکسل در ارتباط با کدهای VBA دارد) و در صورتیکه کاربر اجازه اجرای کد را نداده باشد، برنامه ای که شما نوشته ابد اجرا خواهد شد. بعضی از کاربران اکسل این پیغام رو نادیده میگیرند و یا حتی برای قبول کردن آن ترس دارند. به همین دلیل از همان ابتدا امکان دارد استفاده از برنامه های VBA به مشکل بر بخورد!
یکی از بزرگترین ایرادات استفاده از VBA برگشت ناپذیر بودن کاری که انجام شده هست. فرض کنید شما کد را اجرا کرده اید و بخشی از داده ها در شیت را پاک کرده اید. اگر در این زمان به دکمه Undo نگاه کنید میبینید که غیرفعال هست و امکان بازگرداندن کار انجام شده نیست. ?
اگر شما در کدنویسی از کامنت ها استفاده نکنید در آینده قطعا برای درک مجدد کدهاتون به مشکل بر میخورید.
زبان VBA آنقدر قدرتمند هست که برای هر کسی که آن را آموخته بسیار وسوسه کننده هست. بارها شده است که با استفاده از VBA رمز فایل های اکسل را شکسته ایم. این کار باعث میشود برای انجام هر کاری مستقیم به سراغ VBA بروید. اما قبل از شروع موارد زیر را بدانید:
بعضی اوقات نوشتن، آزمایش کردن و عیب یابی کدها زمان بیشتری نسبت به استفاده از ابزارهای اکسل نیاز دارد.
زبان VBA قدرت تطبیق کمتری در کدنویسی نسبت به اکسل دارد. این به چه معنی هست؟ فرض کنید شما در یک سلول فرمولی نوشتید و به یک سلول یا محدوده دیگر در یک شیت دیگر ارجاع داده اید. بعد از این کار نام شیت رو عوض میکنید، اکسل به صورت خودکار نام شیت را در فرمول ها اصلاح میکند و نام جدید را قرار میدهد اما در VBA این کار انجام نمیشود!!! به این معنی که اگر چیزی را از قبل تعریف کرده اید و حالا نامش را بعد از نوشتن کدها عوض کرده اید، باید بگردید و نام جدید را جایگزین نام قدیم آن کنید (این میتواند کار را خیلی سخت کند).
زمانیکه یک فایل حاوی کد VBA رو باز میکنید یک پیغام امنیتی نمایش داده میشود (البته این پیغام بستگی به تنظیمات امنیتی اکسل در ارتباط با کدهای VBA دارد) و در صورتیکه کاربر اجازه اجرای کد را نداده باشد، برنامه ای که شما نوشته ابد اجرا خواهد شد. بعضی از کاربران اکسل این پیغام رو نادیده میگیرند و یا حتی برای قبول کردن آن ترس دارند. به همین دلیل از همان ابتدا امکان دارد استفاده از برنامه های VBA به مشکل بر بخورد!
یکی از بزرگترین ایرادات استفاده از VBA برگشت ناپذیر بودن کاری که انجام شده هست. فرض کنید شما کد را اجرا کرده اید و بخشی از داده ها در شیت را پاک کرده اید. اگر در این زمان به دکمه Undo نگاه کنید میبینید که غیرفعال هست و امکان بازگرداندن کار انجام شده نیست. ?
اگر شما در کدنویسی از کامنت ها استفاده نکنید در آینده قطعا برای درک مجدد کدهاتون به مشکل بر میخورید.