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

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

در نوشته قبلی با نحوه ایجاد ماکرو در اکسل آشنا شدیم. حالا میخوایم ببینیم زمانی که در نرم افزار اکسل ماکرو یا کد 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 به اکسل اضافه میشه و میتونیم از توابع و کدهای اون استفاده کنیم. خب در این مطلب با نحوه ذخیره ماکرو در اکسل و انتشار اون آشنا شدیم. امیدوارم این مطلب براتون مفید بوده باشه.

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

  1. ghazaee

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

    1. یاسین اسماعیل پور

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

    1. یاسین اسماعیل پور

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

  2. رضا

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

  3. hamedbie

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

    1. یاسین اسماعیل پور

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

  4. saas303772

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

    1. یاسین اسماعیل پور

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

    1. یاسین اسماعیل پور

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

  5. hejar

    با سلام.
    من یک شیت اکسل دارم که در اون از تابع 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. Bahare Lashgari

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

    1. آموزش ماکرو نویسی در اینجا

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

  8. احدی

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

  9. sima

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

    1. یاسین اسماعیل پور

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

  10. sima

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

  11. sima

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

    1. یاسین اسماعیل پور

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

  12. مهدی

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

  13. علی

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

پاسخ دهید

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