Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2021年1月30日土曜日

スプレッドシートの改行をHtmlServiceで表現したい value.replace(/\n/g, "<br>")


セル内の改行は "\n"
それをHTML側で "<br>" に置き換えます。

複数の改行へ対応できるようにgを加えて

value.replace(/\n/g, "<br>");

(valueはシートから取得したセルの値)

手元ではこれで実現できました。


やってみる

STEP1
A1セルに
あいうえお
かきくけこ
さしすせそ
という値を入れておきます。


STEP2
セルの改行を<br>に置き換えないとこうなります。
あいうえお かきくけこ


STEP3
セルの改行を<br>に置き換えるとこうなります。
あいうえお
かきくけこ
さしすせそ




コード.gs
function doGet() {
  return HtmlService.createHtmlOutputFromFile("index");
}

function returnA1() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const A1Value = sheet.getRange("A1").getValue();
  return A1Value;
}

意訳
この機能がやること
指定したHTMLファイルを表示する


この機能がやること
スプレッドシートを取得して
A1の値を取得して
返す





index.html
<!DOCTYPE html>
<html>
  <body>
    <div id=main></div>
    <script>
      load();
      function load() {
        google.script.run
        .withFailureHandler(onFailure)
        .withSuccessHandler(onSuccess)
        .returnA1();
      }

      function onSuccess(value) {
        const text = value.replace(/\n/g, "<br>");
        document.getElementById("main").innerHTML = text;
      }

      function onFailure(e) {
        console.log([e.message, e.stack]);
      }
    </script>
  </body>
</html>
意訳
 
 
 
 
 
load()を実行する
この機能がやること
.gsファイルのreturnA1()を実行する
失敗したらonFailureを実行する
成功したらonSuccessを実行する



この機能がやること
渡されたvalueの\nを全部に置き換えて
指定したidの要素へHTML形式で入れる


この機能がやること
コンソールログにエラーメッセージを出す







Latest post

Googleドキュメントの指定した位置にテキストを追加したい(特定の見出しセクションにテキストを追加する)

指定したGoogleドキュメント内の 見出しBセクションにある標準テキストに 一行追加したくて書いたコードです。 ChatGPTとGeminiと何度かやり取りしながら、プロンプトを書くのに試行錯誤しました。 途中で手動修正も入れつつ、動くコードが書けました。 Apps Sc...