add-ins و همه چیز درمورد افزونه ها در اکسل

add-ins چیست؟

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

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

از این پس افزونه اکسل را با نام Add-ins خواهیم شناخت.

آیکون افزونه اکسل
آیکون افزونه(Add-ins) در اکسل

نحوه نصب افزونه در اکسل:

برای نصب افزونه در اکسل 3 راه وجود دارد:

1) از طریق تنظیمات اکسل:

در این روش مسیر File > Options > Add-ins را بروید سپس از قسمت راست-پایین پنجره، یک گزینه به نام Manage وجود داره که آن را روی Excel Add-ins تنظیم کرده و دکمه …Go را بزنید تا پنجره Add-ins باز شود.

در لیست سمت راست می توانید لیست افزونه های اضافه شده با مسیر فایل مشاهده کنید.

اضافه کردن Add-ins از طریق تنظیمات اکسل
شکل شماره 1 – نحوه اضافه کردن Add-ins از طریق تنظیمات اکسل
2) از طریق تب Developer :

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

برای نصب افزونه در اکسل مسیر زیر رو برید:

 Developer tab > Add-ins group > Excel Add-ins

اضافه کردن Add-ins از طریق تب Developer
شکل شماره 2 – نحوه اضافه کردن Add-ins از طریق تب Developer

بعد از طی کردن یکی از مراحل فوق پنجره مربوط به  Add-ins ظاهر می شود. شکل زیر:

پنجره اضافه کردن Add-ins
شکل شماره 3 – فعال کردن افزونه ها

در پنجره فوق در لیست مربوط به Add-ins available لیست افزونه های خود اکسل و افزونه هایی که شما قبلا اضافه کردید را می توانید مشاهده و با تیک زدن افزونه موردنظر و OK کردن پنجره،افزونه فعال می شود و می توانید استفاده کنید.

3) انتقال دستی افزونه به مسیر نصب آفیس:

در این روش فقط کافیست فایل افزونه ها را به محل نصب آفیس(که معمولا در درایو C نصب می شود) منتقل کنید.مطمئن ترین روش برای جلوگیری از حذف،ویرایش یا تغییر مسیر افزونه همین روش می باشد.

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

 مسیر ذخیره شدن افزونه ها در اکسل
شکل شماره 4 – مسیر ذخیره شدن افزونه ها
C:\Program Files\Microsoft Office\root\Office16\Library
C:\Program Files\Microsoft Office\root\Office16\ADDINS

در دو مسیر فوق می توانید افزونه های خود اکسل را نیز مشاهده کنید.

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

شناسایی توابع اضافه شده بعد از نصب افزونه در اکسل:

در افزونه هایی که حاوی توابع جدید هستند ولی نمی دانید آن توابع کدامها هستند می توانید از مسیر زیر لیست توابع اضافه شده توسط افزونه هارو مشاهده کنید:

Home tab > Function Library group >  Insert Function

یا می توانید کلید ترکیبی Shift+F3 را بزنید تا پنجره  Insert Function باز شود.

در پنجره Insert Function از لیست مربوط به Or select a category گزینه User Defined را انتخاب کنید.اکنون در کادر Select a function می توانید توابع اضافه شده توسط افزونه ها را مشاهده کنید.

توابع اضافه شده توسط افزونه به اکسل
شکل شماره 4 – مشاهده توابع اضافه شده توسط افزونه به اکسل

افزونه های داخلی اکسل:

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

Analysis Toolpak :

ابزاری قدرتمند برای آنالیز داده های مهندسی و آماری مثل پراکندگی، انحراف معیار و ترسیم نمودار میانگین-هیستوگرام.
زمانی که شما این افزونه را فعال می کنید یک گزینه به نام Data Analysis به تب Data افزوده می شود.

افزونه data-analysis

Analysis Toolpak – VBA :

شما می توانید آنالیز خود را پشت پرده و در محیط VBA انجام دهید.

Euro Currency Tools :

یک افزونه مفید برای کار با ارز یورو و تبدیل آن به ارزهای مختلف بصورت تکی یا گروهی
بعد از فعال شده افزونه فوق یک گروه جدید به نام solutions در تب Formulas اضافه می شود.

افزونه Euro Currency Tools
شکل شماره 5 – افزونه Euro Currency Tools
  • Solver Add-ins : یک ابزار از مجموعه ابزار های تحت عنوان What-if-Analysis که برای هدف گذاری بوسیله فرمولنویسی استفاده می شود.برای مثال در یک مجموعه محاسبات سودخالص می توانید فرمول محاسبه سود را در Solver هدف گذاری کرده و تاثیر آنرا با تغییر هر آیتم از موارد محاسبات در سود خالص شناسایی و مشاهده کنید.
    بعد از فعال کردن این افزونه یک گزینه به نام Solver در تب Data اضافه می شود.
    ابزار solver
  • برای افزودن افزونه جدید دکمه Browse را زده و فایل رو از مسیر ذخیره شده بعد از انتخاب OK را بزنید تا به لیست اضافه شود.

    مثلا ما افزونه های Persian Function,Mantis_insert_Picture,Exnum را قبلا اضافه کردیم که با زدن تیک آنها می توانم فعالشان کنیم.

    خطاهای کار با افزونه:

    نکته مهم: زمانی که شما یک افزونه خارجی به اکسل اضافه می کنید،اکسل نام و مسیری که افزونه را در سیستم خودتان قرار دادین را در خود ذخیره می کند و برای فراخوانی آن افزونه همیشه آن مسیر را برای فراخوانی افزونه می رود.پس اگر شما نام افزونه رو تغییر بدین و یا مسیرش رو عوض کنید اکسل قادر به پیدا کردن آن نخواهد بود و خطای not find می دهد.

    خطای مریوط به تغییر نام یا آدرس Add-ins
    شکل شماره 6 – خطای مریوط به تغییر نام یا آدرس Add-ins

    برای حل این مشکل برید افزونه رو با نام یا مسیر جدید دوباره Add کنید که با این کار به شما پیغام میده “آیا می خواهید این افزونه با افزونه قبلی ریپلیس شود؟” که Yes را بزنید.

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

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

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

    نحوه انتقال کدهای Add-ins به اکسل:

    فرض کنید افزونه Persian Function را به روش گفته شده به اکسل اضافه کرده و آنرا فعال کرده ایم.

    برای انتقال کدها به روش زیر عمل کنید:

    1. ابتدا کلید ترکیبی Alt+F11 را بزنید تا وارد محیط VBA شوید.
      انتقال کد vba به اکسل
    2. برای انتقال کدهای VBA کافیه کدهای مربوط به افزونه رو با کلیک چپ نگه داشته و بکشید روی فایل موردنظر و رها کنید تا به فایلتان اضافه شود.

    مطابق ویدئو زیر:

    انتقال کدهای VBA افزونه ها به داخل فایل اکسل
    شکل شماره 7 – انتقال کدهای VBA افزونه ها به داخل فایل اکسل

    نکته مهم : اگر در بین آدرس فایل افزونه که به اکسل معرفی می کنید از عبارت های فارسی استفاده شده باشد هنگام انتقال کدهای VBA خطای Patch خواهد داد.مسیر ذخیره سازی افزونه باید کاملا لاتین باشد.
    مثل مسیر E:\other\آموزشی\Excel\Add Ins چون کاراکتر فارسی بین آدرس وجود دارد خطا خواهد داد.

    ذخیره کردن فایل:

    توجه داشته باشید که الان چون فایل ما دارای کدهای VBA می باشد باید با فرمت ماکرو ذخیره شود.

    برای اینکار کافیست Save As را زده و مطابق شکل زیر با فرمت Xlsm یا Xlsb (شماره1و2 شکل زیر)ذخیره کنید.

    نحوه ذخیره کردن فایل های حاوی کد VBA در اکسل
    شکل شماره 8 – نحوه ذخیره کردن فایل های حاوی کد VBA در اکسل

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

    چگونه یک Add-ins بسازم…؟

    شما خیلی راحت میتونید همانند یک توسعه دهنده برای خود یا دیگران یک Add-ins درست کنید.

    برای اینکار کافیست بعد از نوشتن کدهای VBA هنگام ذخیره کردن فایل آنرا با فرمت (Excel Add-ins (*.xlam و برای نسخه های قدیمی (Excel 97-2003 Add-ins (*.xla ذخیره کنید.

    با این کار می توانید توابع یا ابزاهایی که نوشتید را در قالب یک افزونه در اختیار دیگران نیز قرار دهید.

    معایب و مشکلات استفاده از افزونه ها:

    برای حل یک مشکل، استفاده از افزونه ها همیشه باید آخرین راه حل باشد و مهمترین علت های آنرا می توان اینگونه بیان کرد:

    1. بعد از نصب افزونه در اکسل، افزونه ها ممکن است حاوی کدهای مخربی باشد که می تواند شما را با مشکلات زیادی مواجه کند.برای همین اکسل بطور پیشفرض اجرای کدهای VBA را غیرفعال می کند تا خودتان با مسئولیت خودتان فعالش کنید.
    2. در هر بار باز کردن نرم افزار اکسل چون افزونه ها نیز باید فراخوانی شوند،سرعت loading اکسل را پایین می آورد.
    3. ممکن است به علت بهینه نبودن کدها اکسل دچار کندی شده و یا هنگ کند.
    4. با جابجایی فایل باید کدها یا خود افزونه همراه فایل جابجا شود.

    منابع:

    support.office.com -1

    support.office.com-2

    اشتراک گذاری:
    مطالب زیر را حتما بخوانید

    21 دیدگاه

    به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

    • سلام
      من تعدادی تابع دارم که می خواهم به عنوان افزونه به اکسل اضافه کنم. تمامی مراحل ساخت افزونه را انجام می دهم و بعد از نصب افزونه، در اولین مرحله که برنامه اکسل باز شده است تابع ها فراخوانی می شوند و مشکلی وجود ندارد اما زمانی که اکسل بسته شده و دوباره باز می شود در زمان استفاده از تابع اکسل هنگ می کند! دقت شود در همین مراحل نیز اگر قبل از باز کردن اکسل، ابتدا افزونه باز شود و سپس اکسل باز شود مشکل حل می شود و مشکل تنها زمانی است که در حالت عادی فایل اکسل باز شود
      همچنین توجه شود مراحل بالا برای هر افزونه که می خواهم بسازم اتفاق می افتد حتی اگر یه تابع ساده بنویسم که ورودی را به توان 2 برساند و نمایش دهد! یعنی مشکل به نوعی در بارگزاری افزونه است اما من متوجه نمی شوم مشکل چیست! تمامی مراحل ساخت افزونه را از سایت های مختلف ایرانی و خارجی انجام داده ام! اما گویی یک مرحله وجود دارد که در هیچ جا به آن اشاره نشده است!!!
      ممنون می شوم کمکم کنید

      • با سلام.

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

        • مشکل من نه مرتبط با نوع کد نویسی بلکه حتی ساده ترین تابع ممکن هم که بنویسم که فقط ورودی را مثلا به توان 3 برساند باز وقتی بصورت افزونه ذخیره میکنم این مشکل بوجود میاد.
          در مرحله اول که اکسل باز است مشکلی نیست اما اگر اکسل بسته و مجددا باز شود در هنگام وارد کردن فرمول اکسل هنگ میکنه

    • رو سیستم شرکت یک افزونه ad-ins میخوام استفاده کنم ولی از اونجا که سیستم فقط با اجازه ادمین قابل نصب هست یک اکسل پورتابل دان کردم الآن این افزونه رو چطور بهش اضافه کنم. از آپشن که میرم میگه این قابلیت افزونه باید نصب میشه میگمok ولی نصبش با ارور مواجه میشه

      • سلام.

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

    • سلام من این افزونه را اضافه نمودم اما وقتی میخواهم اعداد به حروف تبدیل نمایم بجای ان این حروف ها میاد 123 íßÕÏ æ ÈíÓÊ æ Óå
      مشود کمکم نمایید

    • سلام
      من افزونه رو اضافه می کنم و برنامه horofi اضافه میشه و کار می کنه فایل رو می بندم دوباره باز می کنم اکسل افزونه رو نمی خونه و برنامه horofi حذف میشه ممنون میشم راهنمایی کنید.هیچ کدام از فایل ها جابه جا نمی شوند در سیستم

      • سلام.

        وقت بخیر.

        مطمئن بشید که در تنظیمات اکسل حالت Macro Enable فعال باشد.توصیه بنده این است که طبق آموزش گفته شده در بالا، کدهای افزونه رو منتقل کنید به خود اکسل تا مشکلی پیش نیاد.توجه کنید بعد از انتقال کدها، فایل رو با فرمت ماکرو ذخیره کنید.

    • سلام.یه مشکلی داشتم تو ورد… من میخوام با endnote واسه مقاله م رفرنس بدم واسه فعال کردن endnote توی word باید از بخش Add Ins فعالش کنم ولی مشکلم اینه که Add Inc خودش باز نمیشه…نمیدونم میتونید کمکم کنید یا نه… من نرم افزارهای دیگه ی مایکروسافت رو هم نگاه کردم همین مشکلو داشت… تو اکسل هم باز نمیشه

      • با سلام.

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

    • با سلام و تشکر
      هنگامی که از abh استفاده میکنم نتیجه متن فونتهای بهم ریخته است و فارسی نیست
      لطفا راهنمایی کیند
      سپاس

    پاسخی بگذارید