<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Trigger on tanaike - Google Apps Script, Gemini API, and Developer Tips</title>
    <link>https://tanaikech.github.io/tags/trigger/</link>
    <description>Recent content in Trigger on tanaike - Google Apps Script, Gemini API, and Developer Tips</description>
    <generator>Hugo</generator>
    <language>ja</language>
    <copyright>&amp;copy; 2026. All rights reserved.</copyright>
    <lastBuildDate>Wed, 26 Jun 2024 10:31:36 +0900</lastBuildDate>
    <atom:link href="https://tanaikech.github.io/tags/trigger/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Updated: GAS Library - TriggerApp</title>
      <link>https://tanaikech.github.io/2024/06/26/updated-gas-library-triggerapp/</link>
      <pubDate>Wed, 26 Jun 2024 10:31:36 +0900</pubDate>
      <guid>https://tanaikech.github.io/2024/06/26/updated-gas-library-triggerapp/</guid>
      <description>&lt;h2 id=&#34;triggerapp-was-updated-to-v103&#34;&gt;TriggerApp was updated to v1.0.3.&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;v1.0.3 (June 26, 2024)&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The calculation for increasing the month was modified.&lt;/li&gt;&#xA;&lt;li&gt;A new scenario 8 was added. In scenario 8, you can see how to use the month-end. &lt;a href=&#34;https://github.com/tanaikech/TriggerApp?tab=readme-ov-file#scenario8&#34;&gt;Ref&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;You can see the detail information here &lt;a href=&#34;https://github.com/tanaikech/TriggerApp&#34;&gt;https://github.com/tanaikech/TriggerApp&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Workaround: Detecting Change of IMPORTRANGE using OnEdit trigger with Google Apps Script</title>
      <link>https://tanaikech.github.io/2023/10/30/workaround-detecting-change-of-importrange-using-onedit-trigger-with-google-apps-script/</link>
      <pubDate>Mon, 30 Oct 2023 16:10:54 +0900</pubDate>
      <guid>https://tanaikech.github.io/2023/10/30/workaround-detecting-change-of-importrange-using-onedit-trigger-with-google-apps-script/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gist.github.com/tanaikech/0cf57b2684c2ac2c2562b1ec229c9ace&#34;&gt;Gists&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://tanaikech.github.io/image-storage/20231030a/fig1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;abstract&#34;&gt;Abstract&lt;/h2&gt;&#xA;&lt;p&gt;One day, you might have a situation where you are required to update a sheet using Google Apps Script when the cell values retrieved by IMPORTRANGE are changed. This report introduces a workaround for achieving this situation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Google Apps Script can be executed by several triggers. &lt;a href=&#34;https://developers.google.com/apps-script/guides/triggers&#34;&gt;Ref&lt;/a&gt; When a cell in a Google Spreadsheet is manually edited, a function of Google Apps Script can be executed by detecting this edit. In most cases, the OnEdit trigger trigger of the simple trigger or the installable trigger is used. When the OnEdit trigger is used, a function can be executed by manually editing a cell. When the function is executed, the function can be run by giving the event object including the information about the edited cell.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Updated: GAS Library - TriggerApp</title>
      <link>https://tanaikech.github.io/2023/08/18/updated-gas-library-triggerapp/</link>
      <pubDate>Fri, 18 Aug 2023 15:21:23 +0900</pubDate>
      <guid>https://tanaikech.github.io/2023/08/18/updated-gas-library-triggerapp/</guid>
      <description>&lt;h2 id=&#34;triggerapp-was-updated-to-v101&#34;&gt;TriggerApp was updated to v1.0.1.&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;v1.0.1 (August 18, 2023)&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;When &lt;code&gt;toDay&lt;/code&gt; is not used, there was a case that the next trigger is not installed. This bug was removed.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;You can see the detail information here &lt;a href=&#34;https://github.com/tanaikech/TriggerApp&#34;&gt;https://github.com/tanaikech/TriggerApp&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>GAS Library - TriggerApp</title>
      <link>https://tanaikech.github.io/2023/07/16/gas-library-triggerapp/</link>
      <pubDate>Sun, 16 Jul 2023 10:31:53 +0900</pubDate>
      <guid>https://tanaikech.github.io/2023/07/16/gas-library-triggerapp/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;This is a Google Apps Script library for efficiently managing the time-driven triggers for executing Google Apps Script using Google Apps Script.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://github.com/tanaikech/TriggerApp/raw/master/images/fig1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;description&#34;&gt;Description&lt;/h2&gt;&#xA;&lt;p&gt;Google Apps Script can execute with not only the manual operation but also several triggers. The time-driven trigger is one of them, and this is one of a lot of important functions. When the time-driven trigger is used, Google Apps Script can be automatically executed at the time you set without launching the user&amp;rsquo;s PC.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Opening and Closing Google Forms on Time using Google Apps Script</title>
      <link>https://tanaikech.github.io/2023/01/18/opening-and-closing-google-forms-on-time-using-google-apps-script/</link>
      <pubDate>Wed, 18 Jan 2023 14:09:30 +0900</pubDate>
      <guid>https://tanaikech.github.io/2023/01/18/opening-and-closing-google-forms-on-time-using-google-apps-script/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gist.github.com/tanaikech/84bd91f2927d8c8463b494f712eb1800&#34;&gt;Gists&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://tanaikech.github.io/image-storage/20230118a/fig1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a sample script for opening and closing Google Forms on time using Google Apps Script.&lt;/p&gt;&#xA;&lt;p&gt;In order to test this sample script, please do the following flow.&lt;/p&gt;&#xA;&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-create-a-new-google-form&#34;&gt;1. Create a new Google Form.&lt;/h3&gt;&#xA;&lt;p&gt;Please create a new Google Form and set your sample questions. And, please open the script editor of Google Form.&lt;/p&gt;&#xA;&lt;h3 id=&#34;2-prepare-sample-script&#34;&gt;2. Prepare sample script.&lt;/h3&gt;&#xA;&lt;p&gt;Please copy and paste the following script to the script editor of Google Form. And, please set the values of &lt;code&gt;start&lt;/code&gt; and &lt;code&gt;end&lt;/code&gt; times you want.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pseudo OnEdit Trigger for Google Document using Google Apps Script</title>
      <link>https://tanaikech.github.io/2021/12/01/pseudo-onedit-trigger-for-google-document-using-google-apps-script/</link>
      <pubDate>Wed, 01 Dec 2021 09:56:49 +0900</pubDate>
      <guid>https://tanaikech.github.io/2021/12/01/pseudo-onedit-trigger-for-google-document-using-google-apps-script/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gist.github.com/tanaikech/f27d427f07b20ca9fedec21e643c4a3e&#34;&gt;Gists&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://tanaikech.github.io/image-storage/20211201a/fig1.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a sample script for achieving the pseudo OnEdit trigger for Google Document using Google Apps Script.&lt;/p&gt;&#xA;&lt;p&gt;In the current stage, there is not OnEdit trigger for Google Document. &lt;a href=&#34;https://developers.google.com/apps-script/guides/triggers#available_types_of_triggers&#34;&gt;Ref&lt;/a&gt; But I sometimes have the case that I want to use OnEdit trigger. So, as the current workaround, I created this sample script. I think that this workaround can be also used for Google Slides, Google Form and also Google Spreadsheet. In the case of Spreadsheet, what the existing OnEdit trigger and the time-driven trigger cannot do can be achieved.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Executing Function with Minutes timer in Specific Times using Google Apps Script</title>
      <link>https://tanaikech.github.io/2021/09/22/executing-function-with-minutes-timer-in-specific-times-using-google-apps-script/</link>
      <pubDate>Wed, 22 Sep 2021 15:59:48 +0900</pubDate>
      <guid>https://tanaikech.github.io/2021/09/22/executing-function-with-minutes-timer-in-specific-times-using-google-apps-script/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gist.github.com/tanaikech/6608e901272077cbc3738366ec5fe0b3&#34;&gt;Gists&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a sample script for executing a function with the minutes timer in the specific times using Google Apps Script. For example, when this sample script is used, the following situation can be achieved.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Execute a function every 10 minutes only in 09:00 - 12:00 and 15:00 - 18:00 for the weekday.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;When the above situation is shown as an image, it becomes as follows.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://tanaikech.github.io/image-storage/20210922a/fig1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;In the above sample situation, a function is run every 10 minutes in the green ranges of 09:00 - 12:00 and 15:00 - 18:00.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running Specific Function When Specific Sheet is Edited on Google Spreadsheet</title>
      <link>https://tanaikech.github.io/2020/10/04/running-specific-function-when-specific-sheet-is-edited-on-google-spreadsheet/</link>
      <pubDate>Sun, 04 Oct 2020 09:23:13 +0900</pubDate>
      <guid>https://tanaikech.github.io/2020/10/04/running-specific-function-when-specific-sheet-is-edited-on-google-spreadsheet/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gist.github.com/tanaikech/bc09d1e03a0ebed3af894a6ed61cf12d&#34;&gt;Gists&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a sample Google Apps Script for running the specific function when the specific sheet is edited.&lt;/p&gt;&#xA;&lt;h2 id=&#34;sample-script&#34;&gt;Sample script&lt;/h2&gt;&#xA;&lt;p&gt;Please copy and paste the following script to the container-bound script of Spreadsheet and set &lt;code&gt;sheets&lt;/code&gt; object.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// When the cells are edited, this function is run by the fire of event trigger.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;onEdit&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// Please set the sheet name and function as follows.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sheets&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;Sheet1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;functionForSheet1&lt;/span&gt;, &lt;span style=&#34;color:#75715e&#34;&gt;// Sheet1 is the sheet name. functionForSheet1 is the function name of function which is run when Sheet1 is edited.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;Sheet2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;functionForSheet2&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  };&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sheetName&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getSheet&lt;/span&gt;().&lt;span style=&#34;color:#a6e22e&#34;&gt;getSheetName&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;sheets&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;sheetName&lt;/span&gt;]) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;sheets&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;sheetName&lt;/span&gt;](&lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// In this sample, when Sheet1 is edited, this function is run.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;functionForSheet1&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sheet1 was edited.&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// do something&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// In this sample, when Sheet2 is edited, this function is run.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;functionForSheet2&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Sheet2 was edited.&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// do something&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;In this sample script, when the cells of &amp;ldquo;Sheet1&amp;rdquo; and &amp;ldquo;Sheet2&amp;rdquo; are edited, &lt;code&gt;functionForSheet1()&lt;/code&gt; and &lt;code&gt;functionForSheet2()&lt;/code&gt; are run, respectively. When other sheets are edited, no functions are run.&lt;/li&gt;&#xA;&lt;li&gt;In this sample script, &lt;code&gt;onEdit&lt;/code&gt; of the simple trigger is used. When the functions you want to run include the methods which are required to authorize, please use the installable trigger.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;note&#34;&gt;Note&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This method can be also used for other event triggers like OnChange, OnSelectionChange and so son.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developers.google.com/apps-script/guides/triggers&#34;&gt;Simple Triggers&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developers.google.com/apps-script/guides/triggers/installable&#34;&gt;Installable Triggers&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developers.google.com/apps-script/guides/triggers/events&#34;&gt;Event Objects&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Highlighting Row and Column of Selected Cell using Google Apps Script</title>
      <link>https://tanaikech.github.io/2020/06/11/highlighting-row-and-column-of-selected-cell-using-google-apps-script/</link>
      <pubDate>Thu, 11 Jun 2020 20:55:18 +0900</pubDate>
      <guid>https://tanaikech.github.io/2020/06/11/highlighting-row-and-column-of-selected-cell-using-google-apps-script/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gist.github.com/tanaikech/3e6b6bbc13cd9814aa918c9933fb862f&#34;&gt;Gists&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a sample script for highlighting the row and column of the selected cell using Google Apps Script. For this, the OnSelectionChange event trigger is used.&lt;/p&gt;&#xA;&lt;h2 id=&#34;demo&#34;&gt;Demo&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://tanaikech.github.io/img/20200611b-img.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;sample-script&#34;&gt;Sample script&lt;/h2&gt;&#xA;&lt;p&gt;Please copy and paste the following script to the script editor of Spreadsheet. And, please select a cell. By this, the script is run by the OnSelectionChange event trigger.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;onSelectionChange&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sheet&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getSheet&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;maxRows&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sheet&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getMaxRows&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;maxColumns&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sheet&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getMaxColumns&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;sheet&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getRange&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;maxRows&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;maxColumns&lt;/span&gt;).&lt;span style=&#34;color:#a6e22e&#34;&gt;setBackground&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;sheet&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getRange&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getColumn&lt;/span&gt;(), &lt;span style=&#34;color:#a6e22e&#34;&gt;maxRows&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;).&lt;span style=&#34;color:#a6e22e&#34;&gt;setBackground&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;yellow&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;sheet&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getRange&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getRow&lt;/span&gt;(), &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;maxColumns&lt;/span&gt;).&lt;span style=&#34;color:#a6e22e&#34;&gt;setBackground&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;yellow&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developers.google.com/apps-script/guides/triggers&#34;&gt;Simple Triggers&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developers.google.com/apps-script/guides/triggers#onselectionchangee&#34;&gt;onSelectionChange(e)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Detecting Quickly Checked Checkboxes on Google Spreadsheet using Google Apps Script</title>
      <link>https://tanaikech.github.io/2020/05/27/detecting-quickly-checked-checkboxes-on-google-spreadsheet-using-google-apps-script/</link>
      <pubDate>Wed, 27 May 2020 13:44:12 +0900</pubDate>
      <guid>https://tanaikech.github.io/2020/05/27/detecting-quickly-checked-checkboxes-on-google-spreadsheet-using-google-apps-script/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gist.github.com/tanaikech/7b1a18a5b768e4d69d519069f4aff440&#34;&gt;Gists&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;abstract&#34;&gt;Abstract&lt;/h2&gt;&#xA;&lt;p&gt;This is a report for detecting quickly checked checkboxes on Google Spreadsheet using Google Apps Script. It supposes that when the checkbox is checked, a function of Google Apps Script is run by the event trigger. In this case, when the multiple checkboxes on Google Spreadsheet are checked quickly, the script cannot be run for all checked checkboxes, because of the response speed of the event trigger. It is considered that to understand the response of event trigger is useful for creating the application for Spreadsheet. In this report, the detection of quickly checked checkboxes on Google Spreadsheet using Google Apps Script has been investigated. From this result, it led to understanding the response of event trigger.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Characteristics of Response for onSelectionChange</title>
      <link>https://tanaikech.github.io/2020/05/19/characteristics-of-response-for-onselectionchange/</link>
      <pubDate>Tue, 19 May 2020 14:19:51 +0900</pubDate>
      <guid>https://tanaikech.github.io/2020/05/19/characteristics-of-response-for-onselectionchange/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gist.github.com/tanaikech/ca5812ed19dd6858879246bd2304266f&#34;&gt;Gists&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;abstract&#34;&gt;Abstract&lt;/h2&gt;&#xA;&lt;p&gt;I have already reported about &amp;ldquo;Change Tab Detection on Google Spreadsheet using onSelectionChange Event Trigger with Google Apps Script&amp;rdquo;. &lt;a href=&#34;https://tanaikech.github.io/2020/05/18/change-tab-detection-on-google-spreadsheet-using-onselectionchange-event-trigger-with-google-apps-script/&#34;&gt;Ref&lt;/a&gt; It is considered that when the situation which uses the event trigger of &lt;code&gt;onSelectionChange&lt;/code&gt; is thought, the response speed is important. So, here, I investigated the characteristics of response for the event trigger of &lt;code&gt;onSelectionChange&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;demo&#34;&gt;Demo&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://tanaikech.github.io/img/20200519a-fig1.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;experiment&#34;&gt;Experiment&lt;/h2&gt;&#xA;&lt;h3 id=&#34;sample-script&#34;&gt;Sample script&lt;/h3&gt;&#xA;&lt;p&gt;In order to investigate the response speed, I used the following sample script. The work of sample script can be seen at above demonstration movie. In this report, the script is important for discussing the result. So I pot this at this section instead of the appendix.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Change Tab Detection on Google Spreadsheet using onSelectionChange Event Trigger with Google Apps Script</title>
      <link>https://tanaikech.github.io/2020/05/18/change-tab-detection-on-google-spreadsheet-using-onselectionchange-event-trigger-with-google-apps-script/</link>
      <pubDate>Mon, 18 May 2020 15:50:16 +0900</pubDate>
      <guid>https://tanaikech.github.io/2020/05/18/change-tab-detection-on-google-spreadsheet-using-onselectionchange-event-trigger-with-google-apps-script/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gist.github.com/tanaikech/524c16dbef722763f80312357d0e4368&#34;&gt;Gists&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;onSelectionChange&lt;/code&gt; has been released at &lt;a href=&#34;https://developers.google.com/apps-script/releases/#april_22_2020&#34;&gt;April 22, 2020&lt;/a&gt;. But this couldn&amp;rsquo;t be used at the released day. But now, I could confirm that this got to be able to be used. So in order to test this event trigger, I prepared a simple sample script. This is a sample script for detecting the change tab on Google Spreadsheet using onSelectionChange Event Trigger with Google Apps Script.&lt;/p&gt;&#xA;&lt;h2 id=&#34;demo&#34;&gt;Demo&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://tanaikech.github.io/img/20200518b-fig1.gif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Please copy and paste the following script to the container-bound script of Google Spreadsheet, and save the script.&lt;/li&gt;&#xA;&lt;li&gt;Please reopen the Google Spreadsheet.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;By this, &lt;code&gt;onOpen&lt;/code&gt; is run and the current sheet is put to PropertiesService.&lt;/li&gt;&#xA;&lt;li&gt;Unfortunately, in the current stage, it seems that the event object of &lt;code&gt;onSelectionChange&lt;/code&gt; has no information about the change of tab. So in order to detect the change of tab, I used the PropertiesService.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Then, please select a cell and cells on sheet.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;By this, &lt;code&gt;onSelectionChange&lt;/code&gt; is run by the onSelectionChange event trigger, and put the A1Notation to the cell.&lt;/li&gt;&#xA;&lt;li&gt;When the active tab is moved, the sample script detects this, and the information of the changed tab is put to the cell.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;sample-script&#34;&gt;Sample script&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;onOpen&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;prop&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;PropertiesService&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getScriptProperties&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sheetName&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getSheet&lt;/span&gt;().&lt;span style=&#34;color:#a6e22e&#34;&gt;getSheetName&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;prop&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;setProperty&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;previousSheet&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;sheetName&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;onSelectionChange&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;prop&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;PropertiesService&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getScriptProperties&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;previousSheet&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;prop&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getProperty&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;previousSheet&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;a1Notation&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getA1Notation&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sheetName&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getSheet&lt;/span&gt;().&lt;span style=&#34;color:#a6e22e&#34;&gt;getSheetName&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;sheetName&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;previousSheet&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;setValue&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;`Changed tab from &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;previousSheet&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; to &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;sheetName&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;. &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;a1Notation&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// When the tab is changed, this script is run.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;range&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;setValue&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;a1Notation&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;prop&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;setProperty&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;previousSheet&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;sheetName&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developers.google.com/apps-script/guides/triggers#onselectionchangee&#34;&gt;onSelectionChange(e)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developers.google.com/apps-script/reference/properties&#34;&gt;Properties Service&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Asynchronous Processing using Event Triggers</title>
      <link>https://tanaikech.github.io/2018/09/21/asynchronous-processing-using-event-triggers/</link>
      <pubDate>Fri, 21 Sep 2018 17:00:31 +0900</pubDate>
      <guid>https://tanaikech.github.io/2018/09/21/asynchronous-processing-using-event-triggers/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://gist.github.com/tanaikech/88f7fd5ed14da5e9afde18310da61cb5&#34;&gt;Gists&lt;/a&gt;&lt;/p&gt;&#xA;&lt;center&gt;&#xD;&#xA;September 21, 2018&#xD;&#xA;    Published.&#xD;&#xA;&lt;p&gt;Kanshi Tanaike&lt;/p&gt;&#xA;&lt;/center&gt;&#xD;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;This is a report about the possibility of asynchronous process using event triggers. This is for Google Apps Script (GAS).&lt;/p&gt;&#xA;&lt;h2 id=&#34;description&#34;&gt;Description&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;onEdit()&lt;/code&gt; which is &lt;a href=&#34;https://developers.google.com/apps-script/guides/triggers/&#34;&gt;a simple trigger&lt;/a&gt; is often used as a trigger when the values are modified on Spreadsheet. When users want to use the script including some methods which are required to be authorized as the onEdit event, &lt;a href=&#34;https://developers.google.com/apps-script/guides/triggers/installable&#34;&gt;a installable trigger&lt;/a&gt; of onEdit is used. If the trigger is installed for the function of &lt;code&gt;onEdit()&lt;/code&gt;, when the event trigger is run, &lt;code&gt;onEdit()&lt;/code&gt; is run 2 times. In order to avoid this, the installable trigger is installed to the functions except for the functions of simple triggers. The functions of simple triggers which is the same events are not used in the project. When I thought about this situation, I thought that both &lt;code&gt;onEdit()&lt;/code&gt; which is run by the simple trigger and the function which is run by the installable trigger might be able to be used, simultaneously. So I investigated about this situation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sending E-mail When Spreadsheet was Edited from Outside by Sheet API</title>
      <link>https://tanaikech.github.io/2017/05/14/sending-e-mail-when-spreadsheet-was-edited-from-outside-by-sheet-api/</link>
      <pubDate>Sun, 14 May 2017 17:43:52 +0900</pubDate>
      <guid>https://tanaikech.github.io/2017/05/14/sending-e-mail-when-spreadsheet-was-edited-from-outside-by-sheet-api/</guid>
      <description>&lt;p&gt;This sample script sends an e-mail, when spreadsheet was edited from outside by Sheet API v4. When you use this sample, please create a container bound script with spreadsheet which is edited by Sheet API. And please input your e-mail and run firstly a method of &lt;code&gt;createTrigger()&lt;/code&gt;. By this, a trigger is installed as &lt;code&gt;onChange()&lt;/code&gt;. After this, edit spreadsheet from outside by Sheet API v4.&lt;/p&gt;&#xA;&lt;p&gt;When when spreadsheet was edited from outside by Sheet API v4, I used &lt;code&gt;sendEmail()&lt;/code&gt; as a sample, because script editor is closed.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
