
↓


■目的 フォーム生成アプリを使用して、オリジナルフォームの送信内容をスプレッドシートへ反映させる方法の説明になります。 (※ECAIにも同時に送信されます) フォーム生成アプリの使用方法につきましてはこちら> ■セット所要時間 20分 ■セット方法 Googleアカウントが必要になりますので、まずはアカウントを作成してください。 アカウントは無料で作成できます。 Googleアカウント作成>
①スプレッドシートの新規作成 > 拡張機能 > Apps Script

↓ ② Apps Script設定 スプレッドシートへ書き込む処理は、それ以降の「doPost()」に設定します。 下記コードをコピペし保存します。 記入されたスプレッドシートの最後の行に追加されます。

【コピペ用】
function doPost(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = JSON.parse(e.postData.getDataAsString());
const now = new Date();
// column_で始まるキーだけを抽出し、番号順にソート
const columns = Object.keys(data)
.filter(k => k.startsWith("column_"))
.sort((a, b) => {
const na = parseInt(a.split("_")[1]) || 0;
const nb = parseInt(b.split("_")[1]) || 0;
return na - nb;
})
.map(k => data[k]);
// 先頭に日付を追加して1行として追記
sheet.appendRow([now, ...columns]);
return ContentService.createTextOutput("OK");
}
↓
③ Apps Scriptの公開(デプロイ)
デプロイ > 新しいデプロイ > 設定 > ウェブアプリ

↓
説明:任意の管理名
ウェブアプリ:自分
アクセスできるユーザー:全員

↓
承認画面は初回のデプロイ時のみの作業となります。

↓
スプレッドシートを作成したアカウントを選択

↓
Advancedをクリック
(※テキストリンクが小さいので注意)

↓
Go to 「スプレッドシートのタイトル」リンクをクリック

↓
Allowを選択

↓
デプロイが成功すると、ウェブアプリのURLが発行されますのでこれをコピペします(後で使用します)。
ここまででスプレッドシートの設定は完了です。

↓
コピペしたURLをフォーム生成アプリ内の下記部分へ貼りつけてください。

オリジナルフォームから送信して、スプレッドシートへ反映されましたら設定は完了です。

ガイドの内容はあくまでもサンプルになります。 そのまま使用できない場合は対応するフォームにあわせて編集をお願いします。 またチャットワークへの通知設定の設定代行も行っております。 ご希望の場合は下記設定代行バナー、もしくはお問い合わせLINE、チャットワークよりご依頼をお願いします。 (目安)1設定:10,000円(税別)フォーム生成アプリを使って送信内容をチャットワークとスプレッドシートへ反映させる方法

■目的 フォーム生成アプリを使用して、オリジナルフォームの送信内容をチャットワークとスプレッドシートへ反映させる方法の説明になります。 (※ECAIにも同時に送信されます) フォーム生成アプリの使用方法につきましてはこちら> ■セット所要時間 30分 ■セット方法 Googleアカウントが必要になりますので、まずはアカウントを作成してください。 アカウントは無料で作成できます。 Googleアカウント作成>
①スプレッドシートの新規作成 > 拡張機能 > Apps Script

↓ ② Apps Script設定 スプレッドシートへ書き込む処理は「doPost()」に設定します。 下記コードをコピペし貼り付けて保存します。

【コピペ用】
function doPost(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = JSON.parse(e.postData.getDataAsString());
const now = new Date();
const tz = 'Asia/Tokyo'; // 必要に応じて変更
// Chatwork 用の情報(SendDATA の末尾で追加している想定)
const token = data.chatwork_apiToken || '';
const roomId = data.chatwork_roomId || '';
// スプレッドシート&Chatwork本文で共通して使うキー一覧
// → chatwork_apiToken / chatwork_roomId を除外
const excludeKeys = ['chatwork_apiToken', 'chatwork_roomId'];
const keys = Object.keys(data).filter(k => !excludeKeys.includes(k));
// ===== スプレッドシートへの書き込み =====
// タイトルは書かず「値だけ」を入れる
const values = keys.map(k => data[k]); // タイトル順の値だけ
sheet.appendRow([now, ...values]); // 先頭に日時
// ===== Chatwork メッセージ作成&送信 =====
if (token && roomId) {
let message = '';
message += "[info][title]チャットワーク通知[/title]\n";
message += "依頼日時: " + Utilities.formatDate(now, tz, "yyyy/MM/dd HH:mm:ss") + "\n\n";
// 各質問タイトル&回答を1行ずつ
keys.forEach(function (k) {
const v = data[k];
// v が undefined/null の場合は空文字扱い
const text = (v === undefined || v === null) ? '' : String(v);
message += k + ": " + text + "\n";
});
message += "[/info]";
// Chatwork へ送信(事前に ChatWorkClient ライブラリを追加しておく)
const client = ChatWorkClient.factory({ token: token });
client.sendMessage({ room_id: roomId, body: message });
} else {
// token または roomId が無い場合は Chatwork送信スキップ
// 必要ならログだけ残しておく
Logger.log('Chatwork token or roomId is missing. Skip sending message.');
}
return ContentService
.createTextOutput("OK")
.setMimeType(ContentService.MimeType.TEXT);
}
↓
Apps Scriptの公開(デプロイ)
デプロイ > 新しいデプロイ > 設定 > ウェブアプリ

↓
説明:任意の管理名
ウェブアプリ:自分
アクセスできるユーザー:全員

↓
承認画面は初回のデプロイ時のみの作業となります。

↓
スプレッドシートを作成したアカウントを選択

↓
Advancedをクリック
(※テキストリンクが小さいので注意)

↓
Go to 「スプレッドシートのタイトル」リンクをクリック

↓
Allowを選択

↓
デプロイが成功すると、ウェブアプリのURLが発行されますのでこれをコピーします。

↓
コピーしたURLをフォーム生成アプリ内の下記部分へ貼りつけてください。

③ライブラリの設定 ライブラリで下記スクリプトIDで検索し、ChatWorkClientを追加
スクリプトID: 1nf253qsOnZ-RcdcFu1Y2v4pGwTuuDxN5EbuvKEZprBWg764tjwA5fLav

チャットワークへログインし、個人設定のサービス連携から「API Token」を取得し、通知したいトークルームのグループチャット設定から「ルームID」を取得します


↓ コピーした「API Token」と「ルームID」をフォーム生成アプリ内の下記部分へ貼りつけてください。

オリジナルフォームから送信して、チャットワーク、スプレッドシートへ反映されましたら設定は完了です。


ガイドの内容はあくまでもサンプルになります。 そのまま使用できない場合は対応するフォームにあわせて編集をお願いします。 またチャットワークへの通知設定の設定代行も行っております。 ご希望の場合は下記設定代行バナー、もしくはお問い合わせLINE、チャットワークよりご依頼をお願いします。 (目安)1設定:10,000円(税別)オリジナルフォームの送信内容をスプレッドシートへ反映させる方法

■目的 オリジナルフォームの送信内容をスプレッドシートへ反映させる方法の説明になります。 (※ECAIにも同時に送信されます) ■セット所要時間 20分 ■セット方法 スプレッドシートへ反映を行うためには、Googleアカウントが必要になります。 無料で作成できますので、まずはアカウントを作成してください。 Googleアカウント作成>
下記のサンプルページをもとに説明します。 フォームサンプルページ> フォームサンプルページダウンロード> ※ソースコード確認方法 windows:Ctrl + U mac :option + command + U オリジナルフォームの編集方法はこちら> ①index.htmlにスプレッドシートへの送信設定

【コピペ用】
//★スプレッドシートに送信設定
function OnPost(){
const URL = "スプレッドシートのApps Scriptをデプロイした時のURL";
//質問1,2の回答を取得
const c1 = $('.q1 :radio:checked').val();
const c2 = $('.q2 :radio:checked').val();
let SendDATA = {
"column_1" : c1,
"column_2" : c2,
};
let postparam = {
"method" : "POST",
"mode" : "no-cors",
"Content-Type" : "application/x-www-form-urlencoded",
"body" : JSON.stringify(SendDATA)
};
//スプレッドシートに送信
fetch(URL, postparam);
}
↓ ②送信時に「OnPost();」を呼び出す

①スプレッドシートの新規作成 > 拡張機能 > Apps Script

↓ ② Apps Script設定 スプレッドシートへ書き込む処理は、それ以降の「doPost()」に設定します。 下記コードをコピペし保存します。 記入されたスプレッドシートの最後の行に追加されます。

【コピペ用】
function doPost(e){
let Sheet = SpreadsheetApp.getActiveSheet();
let JsonDATA = JSON.parse(e.postData.getDataAsString());
let currnetDate = new Date(); //現在の日時
Sheet.appendRow([currnetDate,JsonDATA.column_1,JsonDATA.column_2]);
}
↓
③ Apps Scriptの公開(デプロイ)
デプロイ > 新しいデプロイ > 設定 > ウェブアプリ

↓
説明:任意の管理名
ウェブアプリ:自分
アクセスできるユーザー:全員

↓
承認画面は初回のデプロイ時のみの作業となります。

↓
スプレッドシートを作成したアカウントを選択

↓
Advancedをクリック
(※ボタンが小さいので注意)

↓
Go to 「スプレッドシートのタイトル」リンクをクリック

↓
Allowを選択

↓
デプロイが成功すると、ウェブアプリのURLが発行されますので、これをコピペします。
ここまででスプレッドシートの設定は完了です。

↓
コピペしたURLをオリジナルフォームに設定します。
(1)の①に戻っていただき、index.htmlへURLを設定し保存後、オリジナルフォームをECAIへアップロードして下さい。

オリジナルフォームから送信して、スプレッドシートへ反映されましたら設定は完了です。

ガイドの内容はあくまでもサンプルになります。 そのまま使用できない場合は対応するフォームにあわせて編集をお願いします。 またチャットワークへの通知設定の設定代行も行っております。 ご希望の場合は下記設定代行バナー、もしくはお問い合わせLINE、チャットワークよりご依頼をお願いします。 (目安)1設定:10,000円(税別)