نحوه ذخیره ماکرو در اکسل و انتشار آن

نحوه ذخیره سازی و انتشار ماکرو در اکسل

در نوشته قبلی با نحوه ایجاد ماکرو در اکسل آشنا شدیم. حالا میخوایم ببینیم زمانی که در نرم افزار اکسل ماکرو یا کد VBA خودمون رو مینویسیم چطور باید فایلمون رو ذخیره کنیم. همینطور میبینیم که اگر بخوایم ماکرومون رو به کامپیوتر دیگه ای انتقال بدیم تا اونجا هم بتونیم از ماکروی اکسلی که نوشتیم استفاده کنیم چطور باید اینکار رو انجام بدیم. خب همونطور که میدونید فرمت پیش فرض نرم افزار اکسل برای ذخیره ورکبوک ها در نسخه های قدیمی تر XLS و در نسخه های جدیدتر XLSX هست. این فرمت ها از ذخیره سازی ماکرو پشتیبانی نمیکنند به این معنی که اگر شما کد VBA یا ماکرویی رو در فایل اکسل خودتون بنویسید و بعد اون رو با فرمت XLSX ذخیره کنید تمام کدهای VBA که ایجاد کردید از بین میره و پس از اینکه فایلتون رو مجددا باز کنید اثری از کدهایی که نوشتید دیده نخواهد شد.

در اکسل برای ذخیره فایل هایی که دارای کد VBA و ماکرو هستند میتونیم از دو فرمت XLSM و XLSB استفاده کنیم. برای اینکار کافیه مثل تصویر زیر در پنجره SAVE AS اکسل یکی از این دو فرمت رو برای ذخیره ماکرو انتخاب کنیم. برای آشنایی با تفاوتی که این دو فرمت با هم دارند میتونید این مطلب رو مطالعه کنید:

نحوه ذخیره سازی و انتشار ماکرو در اکسل

 

زمانی که ما فایل اکسل خودمون رو با فرمت XSM یا XLSB ذخیره میکنیم ماکروها و کدهای VBA ما هم در فایلمون ذخیره میشه و زمانی که این فایل رو به سیستم دیگه ای منتقل کنیم میتونیم از کدهایی که نوشتیم استفاده کنیم.

حالا فرض کنید بخوایم کدی رو بنویسیم که بتونیم اون رو به سیستم دیگه ای انتقال بدیم و در تمام فایل های اکسلی که ایجاد میکنیم (نه فقط فایل XLSM که ذخیره کردیم) از اون کد استفاده کنیم. به عنوان مثال بخوایم یه تابع دلخواهی بنویسیم که بتونیم از اون در فرمول نویسی های مون در تمام فایل های اکسل استفاده کنیم. برای اینکار میتونیم از فرمت XLAM اکسل استفاده کنیم که برای تهیه Add-In ها در اکسل استفاده میشه. این فرمت در واقع بسیار شبیه فرمت XLSM هست با یکسری تفاوت های جزئی. برای استفاده از این فرمت ابتدا باید فایل خودتون رو در پنجره SAVE AS اکسل با فرمت XLAM ذخیره کنید و اون رو به سیستم موردنظرتون انتقال بدید. حالا کافیه این فایل رو در نرم افزار اکسل به صورت یک Add-In اضافه کنید. برای اینکار مثل تصویر زیر در پنجره تنظیمات اکسل وارد بخش Add-Ins میشیم و در قسمت پایین پس از انتخاب Excel Add-Ins در بخش Manage رو دکمه Go کلیک میکنیم.

نحوه ذخیره سازی و انتشار ماکرو در اکسل

با انتخاب دکمه GO پنجره Add-Ins باز میشه.

نحوه ذخیره سازی و انتشار ماکرو در اکسل

حالا روی دکمه Browse کلیک میکنیم و فایل XLAM خودمون رو انتخاب میکنیم. با اینکار فایل ما به عنوان یک Add-In به اکسل اضافه میشه و میتونیم از توابع و کدهای اون استفاده کنیم. خب در این مطلب با نحوه ذخیره ماکرو در اکسل و انتشار اون آشنا شدیم. امیدوارم این مطلب براتون مفید بوده باشه.

31 Comments on “نحوه ذخیره ماکرو در اکسل و انتشار آن”

  1. سلام من یک کاربر آماتور هستم از مطالب ارسالی استفاده کردک امیدوارم ما را در درک درست از نحوه درست استفاده از اکسل راهنمائی فرمائید موفق باشید

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

    1. دوست عزیز امکان نداره. بنده هر روز دارم با آفیس 2013 کار میکنم و این تصاویری که شما میبینید هم در آفیس 2013 هست. مگر اینکه نسخه شما نسخه خاص یا محدودی باشه

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

  3. با سلام و عرض ادب و تشکر از مطالب بسیار مفید شما ؛
    من یک add-in دارم (تبدیل مبلغ به حروف فارسی) ، می خواستم بپرسم چطوری میشه این add-in رو با فایل اکسلم به صورت پک کنم که تو هر کامپیوتر دیگه ای که فایل اکسلمو میبرم نیاز به نصب add-in نباشه و اون توی خوده فایل اکسل باشه .
    من حتی رمز این add-in ریست کردم و سورس vb اون رو هم توی ورک شیت مربوط بهش کپی و ذخیره کردم ولی بازم توی یک کامپوتر دیگه که می برم باید add-in رو نصب کنم وگرنه باز مبلغ به حروف نشون نمیده .
    با تشکر فراوان از شما .

    1. سلام. این addin تجاری هست؟ متاسفانه د ر صورتی که اینطوری باشه من نمیتونم کمکی بهتون بکنم چون کپی کردن سورس بدون اجازه سازنده addin درست نیست

  4. سلام
    با تشکر از سایت خوبت
    من همه مراحل بالا رو انجام میدم ولی متاسفانه نتیجه نمیگیرم چرا؟
    فقط توی همون شیتی که ماکرو رو نوشتم کار میکنه اون هم فقط بار اول بعد بستنش بازم غیر فعال میشه ( دستور مربوط به تاریخ شمسی رو نوشتم)
    بازم ممنون

    1. سلام. نمیدونم. بیین کجای کار رو اشتباه میکنی. شاید با پسوند xlsm دخیره نمیکنی

    1. سلام علیرضا جان. مرسی از لطفت. نه متاسفانه سایت خوبی تو ذهنم نیست که معرفی کنم

  5. با سلام.
    من یک شیت اکسل دارم که در اون از تابع today استفاده شده. یعنی اطلاعات امروز که ذخیره شد؛ فردا که میخوای شیت رو باز کنی اطلاعات دیروز صفره. چگونه میتونم طوری ذخیره کنم که اطلاعات روز قبلم جداگانه حفظ بشه؟ منظورم اینه که اطلاعاتم روزانه سیو بشه و بتونم در یک فولدر جداگانه حفظ کنم بدون اینکه تغییری در شیت داده بشه.

  6. سلام
    ممنون از سایت آموزندتون
    مشکل من اینه که وقتی ماکرو رو میخوام ذخیره کنم ، توی قسمت save as ، اصلا پسوند های xlms یا
    xlsb وجود نداره!!!!
    اکسل هم 2016 هستش

    1. سلام ، حسین آقا ، باید بگم که ماکرو به همراه فایل اکسل ذخیره میشه و نیازی نیست که برای ذخیره آن ، حتماً از محیط VB استفاده بشه ، ازطرفی موقع Save As اصلاً نامی از پسوند آن برده نمیشه ، بلکه اسامی کامل آنها که در زیر آمده نمایش داده میشه
      Excel 97-2003 Workbook = *.xls
      Excel Binary Workbook = *.xlsb
      Excel Macro-Enabled Workbook = *.xlsm
      Excel Workbook = *.xlsx

  7. سلام
    من میخوام تو اکسل تو یک ردیف به ترتیب A-A…A-Z و بعد B-A…B-Z و… نوشته بشه
    چطوری اینو با ماکرو بنویسم؟
    کد حروف رو باید بنویسم؟!
    من آماتورم لطفا راهنماییم کنید
    ممنون

    1. سلام ، بهاره خانم
      شما تابعی بایستی بنوسید که یک عدد شمارنده رو از شما بگیره و حروف مورد نظر رو به شما بده
      اگر با اعداد مبناهای مختلف آشنایی داشته باشید ، خروجی شما عددی است دو رقمی برمبنای حروف لاتین!!
      بصورت اتفاقی ، قبل ازینکه شما این سوالتون رو مطرح کنید ، من تابع ساده ای نوشته ام که عددی یک رقمی را میگیرد و حرف لاتین
      متناظر آن را به شما برمیگرداند ، و آن را در یک فایل نمونه آموزشی در وبلاگم گذاشته ام
      شما به راحتی میتوانید با قدری کار کردن روی این تابع ، آن را برای تمامی حروف لاتین تکمیل نمایید
      و از این تابع در تعریف تابع اصلی تان کمک بگیرید
      برای دانلود کردن فایل نمونه آموزشی بر روی عنوان پیام “آموزش ماکرونویسی در اینجا” کلیک نمائید
      موفق باشید – خانیکی
      0919-302-6452

  8. سلام. با تشکر از زحمات و راهنمایی های شما
    بنده فایل matrix.xla لازم داشتم و دانلود کردم و از طریق Add.-in میارم ولی بعد از زدن ok اکسل بسته میشه؟
    لطفا راهنماییم کنید.
    احدی

  9. سلام
    ببخشید چه جوری میشه ،در داخل فایل اکسل راهنما و معرفی استفاده از مدلی که تهیه کرده ام باشه؟؟
    مرسی از راهنماییتون

    1. سلام
      برای اینکار معمولاً تمام توضیحات (نحوه کار با فایل، توضیحات کارکرد هر شیت و … ) رو در یک شیت اول فایل قرار میدن و برای توضیحات ریز تر داخل هر شیت از ابزار کامنت گذاری استفاده میکنند.

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

  11. سلام خودم اسمشو عوض کردم ولی فک کنم اولش همین بود و با پسوند xlsm فایل راsave کردم

    1. سلام سیما جان.
      شما وقتی اون فایل باز شد برو تو تب view و گزینه hide رو بزن. فقط مطمین باش که اشتباهی فایل دیگه ای رو hide نکنی

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

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

  14. سلام.من یه پوشه حاوی دو تا فایل اکسل به نامهای 1 و 2دارم.زمانیکه دوتا فایل باز هستن ، برای بستن اونها حتما باید فایل شماره 2 رو ببندم و بعد شماره 1 در غیر اینصورت فایل شماره 1 بسته نمیشه.ضمنا شیتهای فایل 1 هم مخفی است.لطفا اگه میدونید راهنمایی بفرمایید

  15. عالی بود عالی.
    لطفا اگر تاریخ را به صورت 1394/02/15 بدهند و بخواهیم تفاضل حساب کنیم چه کنیم.

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

  17. سلام
    چجوری میشه با باز شدن نرم افزار صفحات اکسل رو به صورت full screen مشاهده کرد؟؟

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *