実行プロセス
- getSheetNotes():noteを取得したいシートの範囲を指定して取得します
- notes.join("\n"):取得したデータ(配列)を改行でつないで文字列にします
- createSingleSentence(str):一文ごとに分けます
- str.replace(/(?<![a-zA-Z0-9!?])[\s ](?![a-zA-Z0-9!?])/g, ""):英数以外の不要な半角スペースを削除(もとの文章に不要な半角がなければ省略)
- .replace(/。/g, "。\n\n"):すべての「。」のあとに改行2つ追加
- addTextToDocument(singleSentences):指定したドキュメントに書き出します
コード.gs
function writeNotesToDocument() { const notes = getSheetNotes(); const str = notes.join("\n"); const singleSentences = createSingleSentence(str); addTextToDocument(singleSentences); } function getSheetNotes() { const ssUrl = "SPREADSHEET_URL"; const ss = SpreadsheetApp.openByUrl(ssUrl); const sh = ss.getSheets()[0]; const col = "E"; const startRow = 2; const endRow = 378; const range = sh.getRange(col + startRow + ":" + col + endRow); const notes = range.getNotes(); Logger.log(notes); return notes; } function createSingleSentence(str) { const sigleSentence = str.replace(/(?<![a-zA-Z0-9!?])[\s ](?![a-zA-Z0-9!?])/g, "").replace(/。/g, "。\n\n"); return sigleSentence; } function addTextToDocument(text) { const url = "DOCUMENT_URL"; const doc = DocumentApp.openByUrl(url); const body = doc.getBody(); body.appendParagraph(text); } |
参考
スプレッドシートのノートを取得する
Googleドキュメントにテキストを追加したい
正規表現で英数以外のテキストの間にある半角スペースを削除したい