GASではクリップボード操作できない?その理由と代替手段を解説!
GASでクリップボード操作とかできないかな?ボタン押したらコピー!みたいなの作りたいんだけど…

猫男

catman
ふふふ、そんなときは俺の必殺技…eyesビームの出番だ!くらえっ!
GAS × クリップボードはどう使う?
実は、Google Apps Script(GAS)単体ではクリップボード操作はできません。
クリップボードの読み書きは、JavaScriptの「ブラウザ側」APIでしかできないんです。
✅ GAS → サーバー側の処理
✅ クリップボード操作 → クライアント側(HTML + JavaScript)
ってことで、
GASのWebアプリ(HTML Service)と連携してクリップボードを操作する仕組みを作ります!
コピーボタン付きHTMLをGASで生成!
[eyesビーム発射エフェクト]
💥 (°Д° )ノ゙===≡≡≡ eyesビーーーーーム!!
function doGet() {
return HtmlService.createHtmlOutput(
`<!DOCTYPE html>
<html>
<body>
<p id="text">これはコピーしたいテキストです。</p>
<button onclick="copyText()">コピーする</button>
<script> function copyText() {
const text = document.getElementById('text').innerText;
navigator.clipboard.writeText(text) .then(() => alert('コピーしました!')) .catch(err => alert('コピーに失敗しました: ' + err));
} </script>
</body>
</html>`
); }
✅ doGet() 関数を Webアプリとしてデプロイすれば、ボタンでクリップボードにコピーできます!
うおっ、目からコードが…!スクリプトが勝手にできた…!

猫男

catman
ふ…eyesビームを浴びれば、必要なコードは一瞬で現れるのさ。
関連機能まとめ:GASとクリップボードの関係
目的 | 対応方法 |
---|---|
GASでクリップボードにコピー | HTML + JavaScriptで対応 |
クリップボードから貼り付け | navigator.clipboard.readText() を使う |
コピーボタン付きUIを作る | GASのHTMLサービスと組み合わせ |
GAS内で保存する | コピーされた内容を google.script.run でGASに送信して保存 |
おまけ:クリップボードから貼り付けたいとき
以下のようにJavaScriptで読み取り可能です:
navigator.clipboard.readText().then(text => { alert(\"取得した内容:\" + text); });
※ こちらもHTMLサービス内でのみ利用可能です。
まとめ:GAS × クリップボードの使い方
- GAS単体ではクリップボード操作はできない
- HTML+JavaScriptと組み合わせてコピー・貼り付けを実現
- ボタン付きUIでユーザーに優しいスクリプトを作れる!
これでWebアプリにコピーボタンも追加できるから便利になりそう!

猫男

catman
その通り!GASとeyesビームがあれば、クリップボードも思いのままだ!