ماکروهای Google Sheets

Google Sheets به شما امکان می دهد ماکروهایی را ضبط کنید که مجموعه خاصی از تعاملات رابط کاربری را که شما تعریف کرده اید کپی می کنند. هنگامی که یک ماکرو را ضبط کردید، می توانید آن را به یک میانبر صفحه کلید به شکل Ctrl+Alt+Shift+Number پیوند دهید. می‌توانید از آن میان‌بر برای اجرای سریع مراحل دقیق ماکرو، معمولاً در مکان‌های مختلف یا داده‌های مختلف استفاده کنید. همچنین می‌توانید ماکرو را از منوی Google Sheets Extensions > Macros فعال کنید.

هنگامی که یک ماکرو را ضبط می کنید، Google Sheets به طور خودکار یک تابع Apps Script ( عملکرد ماکرو ) ایجاد می کند که مراحل ماکرو را تکرار می کند. تابع ماکرو در فایلی با عنوان macros.gs به پروژه Apps Script متصل به صفحه اضافه می شود. در صورتی که قبلاً یک فایل پروژه با آن نام به برگه متصل شده باشد، تابع ماکرو به آن اضافه می شود. Google Sheets همچنین به طور خودکار مانیفست پروژه اسکریپت را به روز می کند و نام و میانبر صفحه کلید اختصاص داده شده به ماکرو را ضبط می کند.

از آنجایی که هر ماکرو ضبط شده به طور کامل در Apps Script تعریف می شود، می توانید آنها را مستقیماً در ویرایشگر Apps Script ویرایش کنید. حتی می‌توانید ماکروها را از ابتدا در Apps Script بنویسید یا عملکردهایی را که قبلاً نوشته‌اید بردارید و آنها را به ماکرو تبدیل کنید.

ایجاد ماکرو در Apps Script

می توانید توابع نوشته شده در Apps Script را بگیرید و از آنها به عنوان توابع ماکرو استفاده کنید. ساده ترین راه برای انجام این کار، وارد کردن یک تابع موجود از ویرایشگر Google Sheets است.

همچنین، می‌توانید با دنبال کردن این مراحل، ماکروها را در ویرایشگر Apps Script ایجاد کنید:

  1. در رابط کاربر کاربرگ‌نگار Google، Extensions > Apps Script را انتخاب کنید تا اسکریپت متصل به صفحه در ویرایشگر Apps Script باز شود.
  2. تابع ماکرو را بنویسید. توابع ماکرو نباید هیچ آرگومان دریافت کنند و هیچ مقداری برگردانند.
  3. مانیفست اسکریپت خود را ویرایش کنید تا ماکرو ایجاد کنید و آن را به تابع ماکرو پیوند دهید. یک میانبر و نام منحصر به فرد صفحه کلید به آن اختصاص دهید.
  4. پروژه اسکریپت را ذخیره کنید. سپس ماکرو برای استفاده در برگه در دسترس است.
  5. تابع ماکرو را در برگه آزمایش کنید تا تأیید کنید که عملکرد آن مطابق با هدف مورد نظر است.

ویرایش ماکروها

با انجام کارهای زیر می توانید ماکروهای پیوست شده به یک صفحه را ویرایش کنید:

  1. در رابط کاربری کاربرگ‌نگار Google، برنامه‌های افزودنی > ماکروها > مدیریت ماکروها را انتخاب کنید.
  2. ماکرویی را که می خواهید ویرایش کنید پیدا کنید و > Edit macro را انتخاب کنید. با این کار ویرایشگر Apps Script به فایل پروژه حاوی تابع ماکرو باز می شود.
  3. برای تغییر رفتار ماکرو تابع ماکرو را ویرایش کنید.
  4. پروژه اسکریپت را ذخیره کنید. سپس ماکرو برای استفاده در برگه در دسترس است.
  5. تابع ماکرو را در برگه آزمایش کنید تا تأیید کنید که عملکرد آن مطابق با هدف مورد نظر است.

وارد کردن توابع به عنوان ماکرو

اگر از قبل یک اسکریپت متصل به یک صفحه وجود دارد، می توانید یک تابع را در اسکریپت به عنوان یک ماکرو جدید وارد کنید و سپس یک میانبر صفحه کلید به آن اختصاص دهید. می توانید این کار را با ویرایش فایل مانیفست و افزودن عنصر دیگری به ویژگی sheets.macros[] انجام دهید.

از طرف دیگر، برای وارد کردن یک تابع به عنوان ماکرو از کاربرگ‌نگار، این مراحل را دنبال کنید:

  1. در رابط کاربر کاربرگ‌نگار Google، افزونه‌ها > ماکروها > وارد کردن را انتخاب کنید.
  2. یک تابع را از لیست ارائه شده انتخاب کنید و سپس روی افزودن تابع کلیک کنید.
  3. برای بستن گفتگو را انتخاب کنید.
  4. برنامه های افزودنی > ماکروها > مدیریت ماکروها را انتخاب کنید.
  5. تابعی را که به تازگی وارد کرده اید در لیست پیدا کنید. یک میانبر صفحه کلید منحصر به فرد به ماکرو اختصاص دهید. همچنین می توانید نام ماکرو را در اینجا تغییر دهید. نام به طور پیش فرض به نام تابع است.
  6. برای ذخیره تنظیمات ماکرو روی Update کلیک کنید.

ساختار آشکار برای ماکروها

قطعه نمونه فایل مانیفست زیر بخشی از مانیفست را نشان می دهد که ماکروهای Google Sheets را تعریف می کند. بخش sheets مانیفست نام و میانبر صفحه کلید اختصاص داده شده به ماکرو و نام تابع ماکرو را مشخص می کند.

  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

برای جزئیات بیشتر در مورد نحوه ساخت مانیفست های ماکرو Sheets به منبع مانیفست ماکرو Sheets مراجعه کنید.

بهترین شیوه ها

هنگام ایجاد یا مدیریت ماکروها در Apps Script، توصیه می‌شود که دستورالعمل‌های زیر را رعایت کنید.

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

کارهایی که نمی توانید انجام دهید

چند محدودیت برای کارهایی که می توانید با ماکروها انجام دهید وجود دارد:

از ماکروهای خارج از اسکریپت های محدود استفاده کنید

ماکروها در اسکریپت‌هایی تعریف می‌شوند که به Google Sheets خاص متصل شده‌اند. اگر در یک اسکریپت یا برنامه وب مستقل تعریف شده باشد، تعاریف ماکرو نادیده گرفته می شوند.

ماکروها را در افزونه‌های Sheets تعریف کنید

نمی‌توانید تعاریف ماکرو را با استفاده از افزونه Sheets توزیع کنید. هر گونه تعاریف کلان در پروژه الحاقی Sheets توسط کاربران آن افزونه نادیده گرفته می شود.

ماکروها را در کتابخانه های اسکریپت توزیع کنید

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

از ماکروهای خارج از Google Sheets استفاده کنید

ماکروها فقط یک ویژگی در Google Sheets هستند و برای Google Docs، Forms یا Slides وجود ندارند.