LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Saturday, January 12, 2019

スプレッドシートのアドオンを作りたい(アドオンメニューに項目を追加する)


アドオンでできること
  • Googleスプレッドシートのデータの読み取り、編集、視覚化、書式設定
  • HTMLとCSSでメニュー、ダイアログ、サイドバーの作成
  • スプレッドシートのカスタム関数作成
    • アドオン内で定義されている関数は全てカスタム関数として呼び出せる
  • 特定のトリガーイベントが発生したときに特定の機能を実行する
等々


できないこと・注意点
  • マクロは配布できない
  • Unfortunately, Sheets macros can't be distributed with add-ons. If you include a macro definition in an add-on's manifest, it is unavailable to users of that add-on. 
  • 別のアドオンで同名のカスタム関数がある場合は片方しか使えない
  • 30秒以内に完了しない場合はエラーになる
  • 承認を必要とするApps Scriptサービスを呼び出すことはできない
  • 複雑な処理をさせると遅くなるためできる限り単純化する


実際にひとつ作ってみます


今回はアドオンを作る手順だけ簡単に書きたいので
実行するとシートにメッセージが表示されるというものをつくります

スプレッドシートにメッセージボックスを表示する
のコード.gsを以下のものに置き換えます



コード.gs
function onOpen(e) {
  SpreadsheetApp.getUi()
      .createAddonMenu()
      .addItem('Message', 'showMessage')
      .addToUi();
}

function onInstall(e) {
  onOpen(e);
}

function showMessage() {
  Browser.msgBox('メッセージを表示する');
}

意訳
この機能がやること
スプレッドシートのUIに
アドオンのメニューを追加して
項目名と実行する関数を設定して
追加する


この機能がやること
onOpen(e)を実行する


この機能がやること
メッセージを表示する




上記コード.gsを保存してシートを再読込して
アドオン > showMassage > Messageを選択すると



このようにシートにメッセージが表示されます


これでアドオンのメニューに追加することができましたが、これだけだとこのシートでしかこのアドオンを使えません。


世界に公開するアドオンや、限定ユーザにだけ公開するアドオンを作る手順は別途書きます。



Apps Script のプロジェクトを G Suite アドオンとして供給した方がよい理由


Latest post

Extracting data from Google Sheets with regular expressions

Introduction Regular expressions are a powerful tool that can be used to extract data from text.  In Google Sheets, regular expressions ca...