add-ins و همه چیز درمورد افزونه ها در اکسل
add-ins چیست؟
add-ins یا افزونه ها فایل های حاوی کدهای آماده ای هستند که توسط توسعه دهندگان نوشته می شود که پس از نصب افزونه در اکسل برخی امکانات به آن اضافه یا نواقصات آنرا با توجه به نیاز بهبود می دهد.
برای مثال در اکسل تاریخ شمسی وجود ندارد.اما برنامه نویسان و توسعه دهندگان اکسل کدهای توابع تاریخ شمسی را با VBA نوشته و در قالب یک افزونه در اختیار دیگران قرار داده اند.بحث افزونه فقط متعلق به اکسل نیست و بیشتر نرم افزار ها امکان دریافت افزونه را دارند.
از این پس افزونه اکسل را با نام Add-ins خواهیم شناخت.
نحوه نصب افزونه در اکسل:
برای نصب افزونه در اکسل ۳ راه وجود دارد:
۱) از طریق تنظیمات اکسل:
در این روش مسیر File > Options > Add-ins را بروید سپس از قسمت راست-پایین پنجره، یک گزینه به نام Manage وجود داره که آن را روی Excel Add-ins تنظیم کرده و دکمه …Go را بزنید تا پنجره Add-ins باز شود.
در لیست سمت راست می توانید لیست افزونه های اضافه شده با مسیر فایل مشاهده کنید.
۲) از طریق تب Developer :
اکسل این تب را بطور پیشفرض غیرفعال کرده و باید فعال شود.در مقاله مربوط به ماکرو نحوه فعال کردن این تب مفصل توضیح داده شده است.
برای نصب افزونه در اکسل مسیر زیر رو برید:
Developer tab > Add-ins group > Excel Add-ins
بعد از طی کردن یکی از مراحل فوق پنجره مربوط به Add-ins ظاهر می شود. شکل زیر:
در پنجره فوق در لیست مربوط به Add-ins available لیست افزونه های خود اکسل و افزونه هایی که شما قبلا اضافه کردید را می توانید مشاهده و با تیک زدن افزونه موردنظر و OK کردن پنجره،افزونه فعال می شود و می توانید استفاده کنید.
۳) انتقال دستی افزونه به مسیر نصب آفیس:
در این روش فقط کافیست فایل افزونه ها را به محل نصب آفیس(که معمولا در درایو C نصب می شود) منتقل کنید.مطمئن ترین روش برای جلوگیری از حذف،ویرایش یا تغییر مسیر افزونه همین روش می باشد.
شما میتوانید افزونه هارا با توجه به نسخه ویندوز یا آفیس به یکی از پوشه های ADDINS یا Library کپی کنید.در سیستم من مسیر این دو پوشه به شکل زیر می باشد:
در دو مسیر فوق می توانید افزونه های خود اکسل را نیز مشاهده کنید.
نکته: اکسل در خود چند افزونه مخفی دارد که بطور پیشفرض آنها را فعال نمی کند و دلیل آن هم این است که این افزونه ها کمی بارگزاری نرم افزار اکسل را سنگین می کنند.
این افزونه ها مختص افراد حرفه ای می باشد و درصورت نیاز باید فعال شوند و اگر نیازی به افزونه ای ندارید حتما آنرا غیرفعال کنید.
شناسایی توابع اضافه شده بعد از نصب افزونه در اکسل:
در افزونه هایی که حاوی توابع جدید هستند ولی نمی دانید آن توابع کدامها هستند می توانید از مسیر زیر لیست توابع اضافه شده توسط افزونه هارو مشاهده کنید:
Home tab > Function Library group > Insert Function
یا می توانید کلید ترکیبی Shift+F3 را بزنید تا پنجره Insert Function باز شود.
در پنجره Insert Function از لیست مربوط به Or select a category گزینه User Defined را انتخاب کنید.اکنون در کادر Select a function می توانید توابع اضافه شده توسط افزونه ها را مشاهده کنید.
افزونه های داخلی اکسل:
هنگام نصب اکسل افزونه هایی نیز همراه با آن نصب می شود ولی بطور پیشفرض فعال نیست و برای کار با آنها درصورت نیاز می توانید فعال کنید.
Analysis Toolpak :
ابزاری قدرتمند برای آنالیز داده های مهندسی و آماری مثل پراکندگی، انحراف معیار و ترسیم نمودار میانگین-هیستوگرام.
زمانی که شما این افزونه را فعال می کنید یک گزینه به نام Data Analysis به تب Data افزوده می شود.
Analysis Toolpak – VBA :
شما می توانید آنالیز خود را پشت پرده و در محیط VBA انجام دهید.
Euro Currency Tools :
یک افزونه مفید برای کار با ارز یورو و تبدیل آن به ارزهای مختلف بصورت تکی یا گروهی
بعد از فعال شده افزونه فوق یک گروه جدید به نام solutions در تب Formulas اضافه می شود.
- Solver Add-ins : یک ابزار از مجموعه ابزار های تحت عنوان What-if-Analysis که برای هدف گذاری بوسیله فرمولنویسی استفاده می شود.برای مثال در یک مجموعه محاسبات سودخالص می توانید فرمول محاسبه سود را در Solver هدف گذاری کرده و تاثیر آنرا با تغییر هر آیتم از موارد محاسبات در سود خالص شناسایی و مشاهده کنید.
بعد از فعال کردن این افزونه یک گزینه به نام Solver در تب Data اضافه می شود.
برای افزودن افزونه جدید دکمه Browse را زده و فایل رو از مسیر ذخیره شده بعد از انتخاب OK را بزنید تا به لیست اضافه شود.
مثلا ما افزونه های Persian Function,Mantis_insert_Picture,Exnum را قبلا اضافه کردیم که با زدن تیک آنها می توانم فعالشان کنیم.
خطاهای کار با افزونه:
نکته مهم: زمانی که شما یک افزونه خارجی به اکسل اضافه می کنید،اکسل نام و مسیری که افزونه را در سیستم خودتان قرار دادین را در خود ذخیره می کند و برای فراخوانی آن افزونه همیشه آن مسیر را برای فراخوانی افزونه می رود.پس اگر شما نام افزونه رو تغییر بدین و یا مسیرش رو عوض کنید اکسل قادر به پیدا کردن آن نخواهد بود و خطای not find می دهد.
برای حل این مشکل برید افزونه رو با نام یا مسیر جدید دوباره Add کنید که با این کار به شما پیغام میده “آیا می خواهید این افزونه با افزونه قبلی ریپلیس شود؟” که Yes را بزنید.
فرض کنید یک فرمی برای کسی طراحی کردید که داخل آن از توابع یا ابزارهای یک افزونه استفاده کردید.برای اینکار شما مجبورید همیشه کنار فایلتان افزونه های استفاده شده را نیز به طرف مقابل بدهید و اون هم باید بره تو سیستم خودش مسیر جدید رو به اکسل تعریف کنه.
اما ممکنه این کار شمارا با مشکلات زیادی مواجه کنه.مثلا شخص مقابل دانشی در مورد افزونه و معرفی آن به اکسل نداشته باشد.
برای رفع این مشکل شما می توانید کدهای ماکرو مربوط به افزونه را داخل خود فایل اکسل منتقل کنید تا دیگر نیازی به افزونه نباشد.
نحوه انتقال کدهای Add-ins به اکسل:
فرض کنید افزونه Persian Function را به روش گفته شده به اکسل اضافه کرده و آنرا فعال کرده ایم.
برای انتقال کدها به روش زیر عمل کنید:
- ابتدا کلید ترکیبی Alt+F11 را بزنید تا وارد محیط VBA شوید.
- برای انتقال کدهای VBA کافیه کدهای مربوط به افزونه رو با کلیک چپ نگه داشته و بکشید روی فایل موردنظر و رها کنید تا به فایلتان اضافه شود.
مطابق ویدئو زیر:
نکته مهم : اگر در بین آدرس فایل افزونه که به اکسل معرفی می کنید از عبارت های فارسی استفاده شده باشد هنگام انتقال کدهای VBA خطای Patch خواهد داد.مسیر ذخیره سازی افزونه باید کاملا لاتین باشد.
مثل مسیر E:\other\آموزشی\Excel\Add Ins چون کاراکتر فارسی بین آدرس وجود دارد خطا خواهد داد.
ذخیره کردن فایل:
توجه داشته باشید که الان چون فایل ما دارای کدهای VBA می باشد باید با فرمت ماکرو ذخیره شود.
برای اینکار کافیست Save As را زده و مطابق شکل زیر با فرمت Xlsm یا Xlsb (شماره۱و۲ شکل زیر)ذخیره کنید.
در ورژن های قدیمی این فرمت می تواند متفاوت باشد.برای اطلاعات بیشتر به پست مربوط به ماکروها مراجعه کنید
چگونه یک Add-ins بسازم…؟
شما خیلی راحت میتونید همانند یک توسعه دهنده برای خود یا دیگران یک Add-ins درست کنید.
برای اینکار کافیست بعد از نوشتن کدهای VBA هنگام ذخیره کردن فایل آنرا با فرمت (Excel Add-ins (*.xlam و برای نسخه های قدیمی (Excel 97-2003 Add-ins (*.xla ذخیره کنید.
با این کار می توانید توابع یا ابزاهایی که نوشتید را در قالب یک افزونه در اختیار دیگران نیز قرار دهید.
معایب و مشکلات استفاده از افزونه ها:
برای حل یک مشکل، استفاده از افزونه ها همیشه باید آخرین راه حل باشد و مهمترین علت های آنرا می توان اینگونه بیان کرد:
- بعد از نصب افزونه در اکسل، افزونه ها ممکن است حاوی کدهای مخربی باشد که می تواند شما را با مشکلات زیادی مواجه کند.برای همین اکسل بطور پیشفرض اجرای کدهای VBA را غیرفعال می کند تا خودتان با مسئولیت خودتان فعالش کنید.
- در هر بار باز کردن نرم افزار اکسل چون افزونه ها نیز باید فراخوانی شوند،سرعت loading اکسل را پایین می آورد.
- ممکن است به علت بهینه نبودن کدها اکسل دچار کندی شده و یا هنگ کند.
- با جابجایی فایل باید کدها یا خود افزونه همراه فایل جابجا شود.
منابع:
درباره جاوید
عاشق اکسل هستم و بیش از 12 ساله دارم اکسل کار می کنم. در این مسیر آموزش ها و فایل های حرفه ای ارائه دادم و همچنان در این مسیر با علاقه پیش میرم چون امروزه اکسل به یک مهارت انکار نشدنی تبدیل شده
سایر نوشته های جاویدمطالب زیر را حتما مطالعه کنید
۴ گام تا شماره گذاری صفحه چاپ در اکسل با یک نکته عالی
ایجاد لیست شیت ها در ComboBox اکسل با دستورات VBA
در کمتر از ۱ دقیقه چک لیست کارهای روزانه در اکسل بساز
فایل اکسل محاسبه مالیات حقوق سال ۱۴۰۱ + آموزش ویدئویی فرمولنویسی مالیات
راست چین در اکسل و نحوه راست به چپ کردن شیت اکسل
برای چاپ اطلاعات داخل فرم از قبل پرینت شده در اکسل چکار کنیم؟
20 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام
یک ستون به اسم شماره حیوان دارم . در یک فایل جلوی آنها تاریخ تولد هست و در یک فایل دیگر سایر اطلاعات
شماره ها به ترتیب نیستند و دقیقا هم منطبق نیستند
آیا راهی هست که تاریخ تولد حیواناتی که در فایل ۲ هست از فایل ۱ در یک ستون جلوی شماره دام در فایل ۲ قرار بگیرد؟
ممنون از شما
با درود من افزونه d2a تبدیل عدد بحروف رو در اکسل ۲۱۰۶ داشتم اکنون با نصب اکسل۲۰۱۹ یا بالاتر کار نمی کند چرا؟
سلام. وقت بخیر
افزونه رو مجدد به اکسل تعریف می کنید؟
سلام
k-Means را چطور می توانم در اکسل فعال کنم
سلام وقت بخیر
ببخشید من افزونه رو نصب کردم ولی فرمولای تبدیل تاریخ رو ک استفاده میکنم خطای name میده نمیدونم علتش چیه
سلام. وقت بخیر
خطای name یعنی نام تابع درست تایپ نشده.
کدهای افزونه رو به خود اکسل انتقال بدید. پست نحوه انتقال کدهای VBA به اکسل رو بخونید.
سلام.چطور می تونم در اکسل ۲۰۱۳ اختلاف دو تاریخ شمسی رو براساس تعداد ورز محاسبه کنم؟
سلام. وقت بخیر
اگر می خواهید اختلاف دو تاریخ شمسی رو از هم کم کنید میتونید از افزونه های شمسی استفاده کنید که داخلشون تابعی برای اینکار نوشته شده.
گوگل سرچ بزنید ” افزونه تاریخ شمسی”
سلام
من افزونه رو اضافه می کنم و برنامه horofi اضافه میشه و کار می کنه فایل رو می بندم دوباره باز می کنم اکسل افزونه رو نمی خونه و برنامه horofi حذف میشه ممنون میشم راهنمایی کنید.هیچ کدام از فایل ها جابه جا نمی شوند در سیستم
سلام.
وقت بخیر.
مطمئن بشید که در تنظیمات اکسل حالت Macro Enable فعال باشد.توصیه بنده این است که طبق آموزش گفته شده در بالا، کدهای افزونه رو منتقل کنید به خود اکسل تا مشکلی پیش نیاد.توجه کنید بعد از انتقال کدها، فایل رو با فرمت ماکرو ذخیره کنید.
سلام. من نتونستم لینک دانلود افزونه تاریخ شمسی رو پیدا کنم. میشه کمکم کنید؟
سلام.
از انتهای پست زیر میتونید دانلود کنید.
افزونه تاریخ شمسی
سلام من این افزونه را اضافه نمودم اما وقتی میخواهم اعداد به حروف تبدیل نمایم بجای ان این حروف ها میاد ۱۲۳ íßÕÏ æ ÈíÓÊ æ Óå
مشود کمکم نمایید
سلام.
از کنترل پنل سیستمتان Local زبان سیستم را روی Persian قرار بدین.
رو سیستم شرکت یک افزونه ad-ins میخوام استفاده کنم ولی از اونجا که سیستم فقط با اجازه ادمین قابل نصب هست یک اکسل پورتابل دان کردم الآن این افزونه رو چطور بهش اضافه کنم. از آپشن که میرم میگه این قابلیت افزونه باید نصب میشه میگمok ولی نصبش با ارور مواجه میشه
سلام.
زمانی که یک افزونه روی اکسل نصب میشه، در ریشه نصب اکسل قرار میگیره و از اونجایی که برنامه های پرتابل بصورت پیش نصبی هستند افزونه نمیتونه در ریشه اکسل قرار بگیره چون فایل ریشه در ویندوز ندارد.
البته خود بنده تا حالا این مورد رو امتحان نکردم ولی از روش نصب افزونه رو اکسل نصبی میشه این نتیجه رو گرفت.
سلام
من تعدادی تابع دارم که می خواهم به عنوان افزونه به اکسل اضافه کنم. تمامی مراحل ساخت افزونه را انجام می دهم و بعد از نصب افزونه، در اولین مرحله که برنامه اکسل باز شده است تابع ها فراخوانی می شوند و مشکلی وجود ندارد اما زمانی که اکسل بسته شده و دوباره باز می شود در زمان استفاده از تابع اکسل هنگ می کند! دقت شود در همین مراحل نیز اگر قبل از باز کردن اکسل، ابتدا افزونه باز شود و سپس اکسل باز شود مشکل حل می شود و مشکل تنها زمانی است که در حالت عادی فایل اکسل باز شود
همچنین توجه شود مراحل بالا برای هر افزونه که می خواهم بسازم اتفاق می افتد حتی اگر یه تابع ساده بنویسم که ورودی را به توان ۲ برساند و نمایش دهد! یعنی مشکل به نوعی در بارگزاری افزونه است اما من متوجه نمی شوم مشکل چیست! تمامی مراحل ساخت افزونه را از سایت های مختلف ایرانی و خارجی انجام داده ام! اما گویی یک مرحله وجود دارد که در هیچ جا به آن اشاره نشده است!!!
ممنون می شوم کمکم کنید
با سلام.
این مشکل یکی از مشکلات رایج افزونه هاست که در نسخه های مختلف آفیس میتواند دلایل مختلفی داشته باشد.یکی از مهمترین این دلایل نوع کدنویسی و فراخوانی آن توسط اکسل می باشد که زمان بارگذاری توابع توان پردازشی بالایی را از سیستم طلب می کند که در نتیجه باعث کندی شدیدی در عملکرد برنامه می شود.
مشکل من نه مرتبط با نوع کد نویسی بلکه حتی ساده ترین تابع ممکن هم که بنویسم که فقط ورودی را مثلا به توان ۳ برساند باز وقتی بصورت افزونه ذخیره میکنم این مشکل بوجود میاد.
در مرحله اول که اکسل باز است مشکلی نیست اما اگر اکسل بسته و مجددا باز شود در هنگام وارد کردن فرمول اکسل هنگ میکنه
از طریق ایمیل فایلتون رو بفرستید تا بررسی کنیم.