Googleフォームに入力したデータを、自動で Googleスプレットシートに保存する設定をしている場合、入力データが長いとセルからはみ出して表示されています。その都度、一括で折り返し設定をすればよいのですが、ここをプログラム(Google Apps Script)で自動で折り返したい場合もあるかもしれません。これを実現する方法を備忘録としてまとめておきます。
STEP 1. コーディングする
1. Googleスプレットの拡張機能 > Apps Scriptを開く。
2. 既存のコードを削除して置き換える。
既存のコード
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 件のコメント:
コメントを投稿