2023年2月16日木曜日

Googleスプレットシートと連携したGoogleフォームに入力されたデータを自動折返しする方法

 Googleフォームに入力したデータを、自動で Googleスプレットシートに保存する設定をしている場合、入力データが長いとセルからはみ出して表示されています。その都度、一括で折り返し設定をすればよいのですが、ここをプログラム(Google Apps Script)で自動で折り返したい場合もあるかもしれません。これを実現する方法を備忘録としてまとめておきます。

STEP 1. コーディングする


1. Googleスプレットの拡張機能 > Apps Scriptを開く。



2. 既存のコードを削除して置き換える。


参考:https://speakerdeck.com/kimipooh/practice-lets-experience-more-comfortable-google-services-with-google-apps-script?slide=10

既存のコード

function myFunction() {

}

置き換えるコード


function autoWrap() {
 var sheet = SpreadsheetApp.getActiveSheet();
 const lastRow = sheet.getLastRow();
 const lastColumn = sheet.getLastColumn();

 sheet.getRange(lastRow, 1, lastRow, lastColumn).setWrapStrategy(SpreadsheetApp.WrapStrategy.WRAP);
}

function all_autoWrap() {
 var sheet = SpreadsheetApp.getActiveSheet();
 const lastRow = sheet.getLastRow();
 const lastColumn = sheet.getLastColumn();

 sheet.getRange(1, 1, lastRow, lastColumn).setWrapStrategy(SpreadsheetApp.WrapStrategy.WRAP);
}
置き換えたらコードを保存します。

STEP 2. トリガー(いつ実行するのか)を設定する


下図のように左サイドメニューの時計マーク(トリガー)を選択し、「トリガーの追加」ボタンをクリックします。

表示されたトリガーは、次のように設定します。

実行する関数を選択:autoWrap
イベントの種類を選択:フォーム送信時
エラー通知:今すぐ通知を受け取る


ここで保存します。
このとき、下記にあるように安全性が確認されていないなどエラーがでることがあります。その場合には下記のリンク先を参考に、詳細から「安全でないページへ移動」リンクを押して許可してください。

STEP 4. 作成した Google Apps Scriptを実行してみる


STEP 3. テスト


Googleフォームから入力したデータが、Googleスプレットシートの各セルで折り返していることを確認してみてください。
ただし、下図のようにすでに入力されたデータは折返ししません。


もし、すでに入力されたデータも含めて一括で折り返ししたい場合には
先程作成した Google Apps Scriptの画面を開いて、実行する関数について「all_autoWrap」を選択した上で、「実行」ボタンをクリックしてみてください。


2023年2月16日 @kimipooh

0 件のコメント:

コメントを投稿