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

2023年2月3日金曜日

macOS Ventura でデスクトップ等に保存したURLのショートカットファイルのデフォルトブラウザがSafariから変更できない

下記の Chromeヘルプコミュニティで質問があり、手持ち端末で再現しました。解決策が少し長くなるのでブログに備忘録的にまとめます。 本情報は 2023年2月3日時点のものであり、手持ち端末で試して結果のものです。すべての端末で使えるかどうかは分かりません。

MacでブラウザはGoogle Chromeでデフォルト設定もしてありますが、ショートカット作るとショートカットのデフォルトブラウザがsafariになってしまします。

再現した環境

  • M1 MAX MacbookPro 16inch
  • macOS Ventura 13.2

再現手順

  1. Google Chromeブラウザでウェブサイトを開く
  2. URL欄の鍵マーク部分をドラッグして、デスクトップへペーストする
    *すると下記のようなアイコンができます。
  3. 「情報を見る」から「このアプリケーションで開く」を見ると、Safariが指定されされている。
     *Safariや Chromeブラウザ設定では、デフォルトブラウザは Google Chromeにしている。更にこの設定は、変更不可となっている。

関連情報

解決手段


上記関連情報を参考に、下記の設定をすることで解決しました。

  1. 下記より、SwiftDefaultApps(zipファイル) をダウンロード
    https://github.com/Lord-Kamina/SwiftDefaultApps/releases

  2. ダウンロードした zipファイルを展開し、「SwiftDefaultApps.prefpane」を開く
  3. 現在ログイン中(端末のユーザーの話)のユーザーか、すべてのユーザーのいずれにインストールするか聞いてきます。どちらでもよいですが、私の場合には現在ログイン中のユーザーへインストールしました。

  4. システム設定の左サイドメニューの末尾に「SwiftDefaultApps」が追加されているはずです。
    こちらの「Uniform Type Identifiers」タブにアクセスし、「com.apple.web-internet-location」の項目を開いてください。こちらが Safari担っていると思います。これについて「Other」を選択して、Google Chromeなど変更したいブラウザを指定してみてください。
  5. うまく設定できれば、下図のように Safari以外が選択されていると思います。


  6. その状況で再度、デスクトップ等に保存していたURLショートカットファイルの「情報を見る」から、「このアプリケーションで開く」が変更したブラウザになっていることを確認してみてください。

2023年2月3日 @kimipooh