お問い合わせ
    氏名

    メールアドレス

    件名

    お問い合わせ内容



    会員登録(無料)
    ログイン
    スキルアップは今すぐこちら!▶

    【Google Apps Script(GAS)入門】第2回|業務自動化!Googleフォームの回答内容を他のスプレッドシートにも自動転記する方法|openById

    GAS(グーグルアップススクリプト)
    この記事は約3分で読めます。

    前回「Googleフォームの回答内容を他のスプレッドシートにも自動転記する方法」でsetValueのところで転記先の行が同じ値になる…というところで詰まってしまった続きです。

    内容をまとめた本はこちら▼

    初めてのGAS「Googleフォームの内容をGASで別シートに自動転記する方法 編」【2022年版】
    Amazon.co.jp: 初めてのGAS「Googleフォームの内容をGASで別シートに自動転記する方法 編」【2022年版】 eBook : EguchiYuuki: 本

    おさらい

    1.フォームの回答があった時は「フォームの回答1」というシートにデータが自動的に入る。
    2.「フォームの回答1」というシートに自動的にデータが入った時に、別のスプレッドシートの「回答の転記」というシートの「末尾行」に自動的にデータが入力される。

    setValueで書き込み

    s_name_to.getRange(lastRow_PlusOne, 1,1,s_name_from.getLastColumn()).setValue(data);

    getRangeで転記先の(最終行+1行に、1列目から、 1行分、 転記元の列数分)転記元の最終行のデータをsetValue()で書き込みます。

    ??なぜか、1列目のデータが行の全てのセルに転記されてしまいます。

    というところで前回は詰まりました…。

    解決しました

    これ…かなりシンプルな答えでした。

    そう。「S」があるかないか…だったようです。

    setValueの場合は単一セル、setValuesの場合は複数セル。

    そうだったんです。「s」を付けることで行の値が取得できたんですね…。考えてみれば、そういうことも考えられたのかもしれません。

    ということで、setValuesに書き換えました。

    setValues

    ということで…実行。

    転記されました!!(3回押したので3つ書き込まれています。笑)

    これで、やりたいイメージの土台が出来ました!

    あとは、「フォームに回答があった時に自動転記する」という動作のトリガーを仕掛けます。

    トリガー

    トリガーを設定します。
    「+トリガーを追加」から、トリガーを作成できます。

    実行する関数を設定します。
    今回は「PostToAnotherFile」という関数を選択します。

    イベントの種類

    イベントの種類は、フォームに送信があったタイミングで自動転記したいので、「フォーム送信時」です。

    「このアプリは確認されていません」

    という表示が出た時は「詳細」を選択して、「XXXXXXXX(安全ではないページ)に移動」を選択します。

    許可を与えるGoogleアカウントを選択します。

    新しいトリガーが作成されました!!

    テストする

    フォーム送信してみます。

    確認

    転記元(フォーム送信の回答先シート)

    別のシート(回答の転記先のシート)

    転記されました!!
    \(^o^)/

    まとめ

    ここまでプログラムを組めば、最初にやりたかった「フォーム送信」→「回答のシート行にデータが入る」→「別のファイルの最終行にデータが追加される」

    というプロセスの自動化が出来ます!

    ご参考下さい!\(^o^)/

    内容をまとめた本はこちら▼

    初めてのGAS「Googleフォームの内容をGASで別シートに自動転記する方法 編」【2022年版】
    Amazon.co.jp: 初めてのGAS「Googleフォームの内容をGASで別シートに自動転記する方法 編」【2022年版】 eBook : EguchiYuuki: 本

    0 件のコメント

    コメント
    タイトルとURLをコピーしました