Google関連

[Google Apps Script]スプレッドシートで選択範囲を変更したときに実行されるonSelectionChangeトリガー

下記リリースノートにある通り、4月のGoogle Apps Scriptのアップデートでスプレッドシートに「onSelectionChange」トリガーが追加されました。

ドキュメントを開くなど、特定のイベントが発生したときに、自動的に予約済みの組込み関数が実行される仕組みをシンプルトリガー(Simple Triggers)と呼びますが、onSelectionChangeもこのシンプルトリガーで、ユーザーが選択範囲を変更すると自動的に実行されます。

例えば、下記は選択しているセルの値をアラート表示するだけのコードですが、このコードを追加した状態で選択範囲を変更すると、自動的に関数が実行されることが確認できます。

function onSelectionChange(e) {
  SpreadsheetApp.getUi().alert(e.range.getCell(1, 1).getValue());
}

メニューやボタンを押すことなくスクリプトが実行できるのは便利ですが、選択セルを変更する度にスクリプトが走ると、処理が重くなりそうです。
(計測したことが無いので実際は分かりませんが・・・)

使いどころが中々難しいな、と個人的には思いますが、サイドバーと組み合わせると、値の読み書きが簡単にできるので便利なのかもしれません。

ちなみに、同様の仕組みはOffice アドインでも「SelectionChanged」イベントとして用意されています。

また、私がテストした限りでは、現時点(2020年5月)では環境によってonSelectionChangeが動いたり動かなかったりしました。

同じ環境でも昨日動いていたコードが翌日動かなくなったり、よく分からない挙動が続いていますが、最初に書いた通り実装されたばかりの機能なので、まだ完全にロールアウトされていないのかもしれません。

Stack Overflowでも同様の報告がされています。

Outlookを使ってGmail送信を行うVBAマクロ前のページ

Build 2020で個人的に気になったOfficeやPower Automateの発表次のページ

関連記事

  1. Office関連

    OneNote + Google Apps Scriptで定期的にWebサイトのキャプチャーを撮る方…

    「“OneNote”がアップデート、URLをメールで送るだけでスクリー…

  2. Power Automate for desktop

    [Power Automate Desktop]Google Driveにファイルをアップロードする…

    前々回の記事でGoogle Drive APIの実行に必要なアクセスト…

  3. Google関連

    Gmail APIを使ってメール送信するC#コード

    「たまには.NET用のライブラリを使ってGoogle APIでも触って…

  4. Google関連

    [Google Apps Script]スプレッドシートで不要な空白文字を削除する

    スプレッドシートでは、「データ」メニューにある「空白文字を削除」を実行…

  5. Google関連

    [Google Apps Script]Googleドキュメント文書をPDFに変換してメール送信する…

    先日Twitterで @TsujiKenzo さんが下記のようにツイー…

  6. Google関連

    [Google Apps Script]ショートカットファイルを作成する

    リリースノートによると、先月のGoogle Apps Scriptのア…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP