Google スプレッドシートのマクロ

Google スプレッドシートを使用すると、 マクロが含まれます。 一連の UI インタラクションを定義できますイベントを録画したら フォームのキーボード ショートカットにリンクできます。 Ctrl+Alt+Shift+Number。このショートカットを使用すると、 マクロステップを、通常は別の場所や異なるデータで再度実行します。 Google スプレッドシートの拡張機能からこのマクロを有効にすることもできます。 > [マクロ] メニューを選択します。

マクロを記録すると、Google スプレッドシートで Apps Script が自動的に作成される マクロのステップを複製する関数(マクロ関数)を使用します。マクロ 関数が Apps Script プロジェクトにバインドされている このシートの「macros.gs」というタイトルのファイルに追加します。なんらかの理由で すでにその名前のシートにバインドされているプロジェクト ファイルである場合、 が追加されます。Google スプレッドシートでは、スクリプトが プロジェクトのマニフェスト(名前の記録) キーボード ショートカットが割り当てられます。

記録されたマクロはすべて Apps Script 内で定義されるため、 Apps Script エディタ内で直接編集できます。マクロを記述して Apps Script で最初から作成することも、以前に記述して マクロに変換できます。

Apps Script でのマクロの作成

Apps Script で記述された関数をマクロ関数として使用できます。 これを行う最も簡単な方法は、 既存の関数をインポートし、 Google スプレッドシート エディタです。

別の方法として、Apps Script エディタ内でマクロを作成することもできます。 手順は次のとおりです。

  1. Google スプレッドシートの UI で、[拡張機能] > を選択します。 Apps Script で Apps Script エディタでシートにバインドされているスクリプトを作成します。
  2. マクロ関数を記述します。マクロ関数は、引数を取らずに 値はありません。
  3. スクリプト マニフェストを編集する マクロを作成し、マクロ関数にリンクします。一意のキーを割り当てる キーボード ショートカットと名前を入力します。
  4. スクリプト プロジェクトを保存します。これで、このマクロをシートで使用できるようになります。
  5. シートでマクロ機能をテストして、意図したとおりに機能することを確認します。

マクロの編集

シートに添付されたマクロは、次の手順で編集できます。

  1. Google スプレッドシートの UI で、[拡張機能] > を選択します。 [マクロ] > [マクロを管理] をタップします。
  2. 編集するマクロを見つけて選択します。 件 >マクロの編集。開く マクロ関数を含むプロジェクト ファイルに追加します。
  3. マクロ関数を編集して、マクロの動作を変更します。
  4. スクリプト プロジェクトを保存します。これで、このマクロをシートで使用できるようになります。
  5. シートでマクロ機能をテストして、意図したとおりに機能することを確認します。

関数をマクロとしてインポートする

シートにバインドされているスクリプトがすでにある場合は、 スクリプト内の関数を新しいマクロとしてインポートし、割り当てることができます。 キーボード ショートカットを使用します。これを行うには、 マニフェストの編集 追加し、別の要素を sheets.macros[] プロパティ。

または、次の手順で関数をマクロとして スプレッドシートの UI:

  1. Google スプレッドシートの UI で、[拡張機能] > を選択します。 [マクロ] > [インポート] をタップします。
  2. 表示されたリストから関数を選択し、[関数を追加] をクリックします。
  3. [] を選択してダイアログを閉じます。
  4. [拡張機能] > [マクロ] を選択します。 > [マクロを管理] をクリックします。
  5. インポートした関数をリストから選択します。独自のキーボードを割り当てる マクロを追加します。ここでマクロ名を変更することもできます。名前 デフォルトは関数の名前です。
  6. [Update] をクリックしてマクロの構成を保存します。

マクロのマニフェスト構造

次のマニフェスト ファイルのサンプルスニペットは、 マニフェストを作成します。 マニフェストの sheets セクションに名前とキーボード ショートカットが定義されている マクロに割り当てられます

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

スプレッドシートのマクロ マニフェスト リソースをご覧ください。 をご覧ください。

ベスト プラクティス

Apps Script でマクロを作成または管理する際は、 以下のガイドラインを遵守すること。

  1. マクロは軽量なほどパフォーマンスが高くなります。可能な限り マクロが実行するアクションの数です。
  2. マクロは繰り返しが必要なロート オペレーションに最適です ほとんど、あるいはまったく構成せずに済みます。その他のオペレーションについては、 代わりにカスタム メニュー項目を使用してください。
  3. マクロのキーボード ショートカットは一意でなければならず、 シートでショートカットを含むマクロは一度に 10 個までしか追加できません。その他の マクロは [拡張機能] > からのみ実行できます。 [マクロ] メニュー。
  4. 1 つのセルに変更を加えるマクロをセル範囲に適用できる すべてのセルを選択してから、マクロを有効にします。 つまり、既存の文字列を重複させるマクロを作成する必要は、 同じ操作を繰り返すことができます。

行えない操作

マクロでは、次のような制限があります。

バインドされたスクリプトの外部でマクロを使用する

マクロは、特定の Google スプレッドシートにバインドされたスクリプトで定義されます。マクロ 定義が無視されても、 スタンドアロン スクリプト ウェブアプリ

スプレッドシート アドオンでマクロを定義する

マクロ定義を分散するには、 スプレッドシート アドオン。スプレッドシートでのマクロ定義 そのアドオンのユーザーは、そのアドオン プロジェクトを無視します。

スクリプト ライブラリ内でマクロを配布する

Apps Script を使用してマクロ定義を配布することはできません ライブラリ

Google スプレッドシートの外部でマクロを使用する

マクロは Google スプレッドシートの機能にすぎず、Google ドキュメントには存在しません。 フォーム、スライドです。