ماکروهای Google Sheets

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

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

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

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

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

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

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

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

شما می‌توانید ماکروهای متصل به یک برگه را با انجام موارد زیر ویرایش کنید:

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

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

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

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

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

ساختار مانیفست برای ماکروها

قطعه کد نمونه فایل مانیفست زیر، بخشی از مانیفست را نشان می‌دهد که ماکروهای گوگل شیت را تعریف می‌کند. بخش 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. ماکروهایی که در یک سلول واحد تغییراتی ایجاد می‌کنند، می‌توانند با انتخاب کل محدوده سلول‌ها و سپس فعال کردن ماکرو، روی طیف وسیعی از سلول‌ها اعمال شوند. این بدان معناست که اغلب نیازی به ایجاد ماکروهایی نیست که همان عملیات را در طیف از پیش تعریف شده‌ای از سلول‌ها تکرار کنند.

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

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

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

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

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

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

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

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

استفاده از ماکروها خارج از گوگل شیت

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