GASのサイドバーで「問い合わせフォーム送信」を爆速化する(あえて完全自動化しない設計)
はじめに
こんにちは、GASで業務自動化を行っているGASタナカです。
営業リストへの「問い合わせフォーム送信」業務、やったことはありますか?
スプレッドシートのURLをクリック
会社名と文面をコピー
フォームに貼り付け
送信ボタンを押す
シートに戻って「送信済」と書く
これを100件、500件と繰り返すのは、まさに**「コピペ地獄」**です。 Python(Selenium)で完全自動化しようとしても、最近のフォームは reCAPTCHA(私はロボットではありません) があったり、スパム判定されたりと、技術的な壁が高いのが現実です。
そこで今回は、「送信ボタンだけ人間が押す(それ以外は全自動)」 という "半自動化" のアプローチで、この作業を爆速化するGASツールを作ってみました。
作ったもの
スプレッドシートの右側に「専用サイドバー」を表示し、そこから全てを操作します。
▼ 実際の動作(デモ)

【機能のポイント】
ワンクリック準備: 「次へ」ボタンを押すだけで、次の会社のURLが開き、同時に送信文面がクリップボードにコピーされます。
リズム作業: 作業者は「Ctrl+V(貼り付け)」と「送信ボタン」を押すだけ。思考停止で作業できます。
自動記録: 完了ボタンを押すと、スプレッドシートに「送信日時」が自動で書き込まれます。
技術的な実装ポイント
このツールの裏側で動いているGASの技術を少し解説します。
- HtmlService によるサイドバーUI
GASには、スプレッドシートの右側にHTMLを表示する showSidebar メソッドがあります。 これを使うことで、シートのデータを参照しながら操作できる「アプリっぽい画面」が作れます。
JavaScript
function showSidebar() {
const html = HtmlService.createTemplateFromFile('Sidebar')
.evaluate()
.setTitle('高速フォーム送信')
.setWidth(300);
SpreadsheetApp.getUi().showSidebar(html);
}
2. クライアント側(HTML)とサーバー側(GAS)の連携
サイドバーのボタンを押した時に、GAS側の関数を呼び出すには google.script.run を使用します。 このツールでは、**「非同期処理」**をうまく使うことで、体感速度を上げています。
JavaScript
// HTML側(JavaScript)
function finishAndNext() {
// 1. 見た目だけ先に「完了」にして次へ進む(ユーザーを待たせない)
showNextData();
// 2. 裏側でGASに「書き込んでおいて」と指示を投げる(完了を待たない)
google.script.run.markAsSent(currentRow);
}
通常の google.script.run.withSuccessHandler().function() だと、GASの処理が終わるまで待機時間が発生しますが、今回は「書き込み完了を待つ必要がない」ため、投げっぱなしにすることでサクサク感を実現しています。
- クリップボード操作とウィンドウオープン
これらはGAS(サーバー側)ではできないため、サイドバー内の JavaScript で実行します。
JavaScript
// HTML側
function copyAndOpen(text, url) {
// クリップボードにコピー
navigator.clipboard.writeText(text);
// 新しいタブでURLを開く
if (url) window.open(url, '_blank');
}
※実際には document.execCommand('copy') など、ブラウザ互換性を考慮した実装を行っています。
なぜ「完全自動」にしなかったのか?
技術的にはPython等を使えば「送信ボタンを押す」ことまで自動化できます。 しかし、実務運用においては以下のリスクがあります。
reCAPTCHAの壁: 画像認証が出るとボットは止まります。
スパム判定: 機械的な連続送信は、ドメインのブラックリスト入りを招く恐れがあります。
誤送信リスク: 「会社名を置換し間違えたまま送信」などの事故が怖いです。
「最後の確認とクリックだけ人間がやる」 この設計にすることで、これらのリスクを全て回避しつつ、手作業の9割を削減することに成功しました。
まとめ
「自動化=全自動」と思い込みがちですが、「人間とボットの役割分担(Co-working)」 をうまく設計することで、開発コストを抑えつつ、現場が一番使いやすいツールになることがあります。
GASのサイドバー機能は、こうした「入力支援ツール」を作るのに最適です。皆さんもぜひ試してみてください。
🎁 配布と導入依頼について
今回作成したツールは、プログラミング不要ですぐに使えるパッケージとして配布しています。 「リスト作成」から「送信」までを一気に効率化したい方は、ぜひご覧ください。
▼ ツール本体と導入マニュアルはこちら(Tips) https://tqv.jp/s/xPISf2/d/dac
▼ 導入代行・カスタマイズのご相談(ランサーズ) 自社の業務フローに合わせたカスタマイズも承っております。 https://www.lancers.jp/profile/gas_tanaka/portfolio_popup/708863
Discussion