選択した複数のセルを連結してクリップボードにコピーする方法【GAS】

応用編

応用一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

  • 複数のセルを連結してクリップボードにコピーすることができます。
  • auじぶん銀行から振り込みむ際の認証番号の入力が楽になります。

逆に、知らないと

auじぶん銀行から振り込む際に、認証番号を確認後手動でキーボードから
打ち込む必要があります。

なので、サクッとマスターして

と答えてあげてください。

動画はこちら

シートはこちら

*クリックすることでシートが開きます。(コピーしてお使いください)

動作

こんな風に動作します。(実際はもっとモッサリしています)

 

 

 

 

 

 

 

スクリプト

function concatenateSelectedCells() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const range = sheet.getActiveRange();
  const values = range.getValues();


  const flatValues = values.flat();
  if (flatValues.length !== 4) {
    SpreadsheetApp.getUi().alert("セルはちょうど4つ選択してください。");
    return;
  }


  const result = flatValues.join("");


  const htmlOutput = HtmlService.createHtmlOutput(`
    <p style="font-size:16px; color:green;">✅ 選択したテキストはクリップボードにコピーされました。</p>
   
    <textarea id="copyText" style="width:100%; height:100px; font-size:80px; font-family:'Calibri', 'sans-serif';">${result}</textarea>
    <script>
      const textarea = document.getElementById("copyText");
      textarea.focus();
      textarea.select();


      if (navigator.clipboard) {
        navigator.clipboard.writeText(textarea.value).catch(err => {
          console.log("クリップボードコピー失敗:", err);
        });
      }
    </script>
  `).setWidth(300).setHeight(200);


  SpreadsheetApp.getUi().showModalDialog(htmlOutput, "コピー完了");
}

ポイント

GASはサーバ上で動くので、クリップボードにコピーすることはできません。
今回は、苦肉の策としてPC上で動作するJavascriptで実現させました。

なのでちょっともっさりしています。

Excelだともう少しくて実用的です。↓

 

最後までご覧いただきありがとうございます。

つぎはこちら

【拡張機能】選択セルをハイライト表示させる方法(Gスプレッドシート)
  • 選択中のセルをハイライト表示させることができます。
  • 入力中のセルの行と列の位置が視覚的にわかるようになります。
  • 応用一覧

    コメント

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