Google Apps Script(GAS)を使っていると、メール本文やスプレッドシート、メッセージボックスに改行を入れたい場面は意外と多いです。しかし、思ったように改行できなかったり、環境によって表示が崩れてしまったりと悩む方は少なくありません。この記事では、改行コードの正しい使い方から「CRLF」「セル内改行」「メール本文改行」の実務的なテクニックまで、業務効率を高める方法を具体的に解説していきます。
GASで改行を入れる基本の方法を理解する
改行コードの基本ルール
GASで文字列を改行するときには「\n」(LF)を使うのが基本です。例えば、次のように記述すると改行されます。
let message = "お疲れ様です。\n本日の会議は15時からです。";
このコードをログ出力すると、2行に分かれて表示されます。
ただし、Windows環境では「\r\n」(CRLF)を使う場合があり、プラットフォームや受け取り側アプリによって動作が変わることがあります。この違いを理解しておかないと「改行できない」と悩む原因になります。
業務現場での実例
営業部門が日報をメールで送る仕組みをGASで作成したとき、改行が効かず本文が1行で表示されてしまいました。原因は「\n」ではなく「\r\n」を必要とする環境に送信していたためです。修正後はメールが読みやすくなり、マネージャーの確認作業がスムーズになりました。
メリットとデメリット
- メリット:適切に改行を入れることで読みやすい資料やメールが自動生成できる
- デメリット:環境依存のため、テストをしないと意図通りに表示されないことがある
注意点と失敗事例
よくある失敗は「コード上では改行されているのに、受け取ったメールでは1行になっている」というものです。これは改行コードの種類が合っていないことが原因です。必ず「\n」と「\r\n」の両方を試し、実際の表示を確認することが重要です。
メール本文に改行を入れる方法と注意点
GASメール本文での改行ルール
GASでメールを送信するときには、MailApp.sendEmail()
を使います。本文に改行を入れるには「\n」を使用します。
let body = "お疲れ様です。\n本日のタスクをお知らせします。\n1. 会議準備\n2. 顧客対応";
MailApp.sendEmail("example@example.com", "本日の予定", body);
このように書くと、メール本文は改行されて箇条書きのように表示されます。
実務での利用事例
ある企業では、毎朝自動で送信される「全社員タスク通知メール」をGASで構築しました。最初は改行がなく、本文が読みづらいと社員から不満が出ていました。そこで、箇条書きに「\n」を組み込み、読みやすく整形したところ、業務開始前の確認がスムーズになり、全体の生産性が上がったのです。
他業種との比較
海外の企業でも同様にGASを使った自動メール配信を行っていますが、メールクライアントによっては「\r\n」を推奨するケースもあります。特にOutlook系では「\n」だけでは改行されず、レイアウトが崩れる場合があります。このためグローバル企業では「\n」と「\r\n」の両対応を組み込む工夫をしています。
注意点と失敗事例
メール本文に改行を入れたつもりでも、Gmailで見ると問題なくてもOutlookで表示が崩れるケースがあります。テスト環境は必ず複数のメールクライアントで行うことをおすすめします。
スプレッドシートのセル内で改行する方法
セル内改行の基本操作
「gas セル内改行」で検索する人が多いのは、セル内でテキストを複数行に分けたいケースがあるからです。GASでセルに改行を入れるには「\n」を挿入します。
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange("A1").setValue("氏名: 山田太郎\n部署: 営業部");
これでセルA1には2行に分かれたテキストが入ります。
業務現場での事例
人事部では、社員情報をスプレッドシートで管理しています。当初は「名前」「部署」「メールアドレス」を別々の列に入れていましたが、レポート用に「1セルにまとめた形式」が必要になりました。セル内改行を導入することで、1つのセルに複数行の情報を格納でき、レポート出力が効率的になりました。
メリットとデメリット
- メリット:見やすく整ったデータをセルにまとめられる
- デメリット:データの分割や検索がやや複雑になる
つまり、表示の美しさを優先するならセル内改行は有効ですが、後でデータ分析をする予定があるなら列ごとに分けた方が扱いやすいこともあります。
注意点と失敗事例
セル内改行を行ったものの、他システムにデータを渡したときに「改行が区切り文字として扱われてしまい、データが分割される」というトラブルが発生しました。外部システムとの連携を意識する場合は、改行ではなく「|」など特殊記号で区切る方が安全な場合もあります。
メッセージボックスに改行を入れる方法
GASのメッセージボックスと改行の関係
GASでは、ユーザーに確認を求める際にBrowser.msgBox()
やSpreadsheetApp.getUi().alert()
を使うことがあります。このとき、文章が長くなると改行が必要です。そのまま書くと1行に表示されてしまい、読みづらいことが多いですよね。
改行を入れるには「\n」を使います。
Browser.msgBox("確認事項\n1. データ更新\n2. メール送信\n3. レポート作成");
これで、改行が効いてリスト形式のように見やすくなります。
実務現場での利用事例
ある経理チームでは、月次処理の確認を自動化するために、GASで処理前のチェックリストをメッセージボックスで表示していました。最初は1行に詰め込まれていて読みにくかったのですが、「\n」を入れて箇条書き風に整形したことで、見落としが減り業務エラーが大幅に減少しました。
注意点
ただしメッセージボックスには文字数制限があります。長文を入れると途中で切れてしまうため、複数回に分けて表示するか、ログに出力して補助するのが安全です。
改行できないときの原因と対処法
よくある原因
「gas 改行できない」と検索する人は多いです。原因は大きく分けて以下のようなものがあります。
- 改行コードの種類が合っていない(\nと\r\nの違い)
- HTMLメールで送っているのにプレーンテキスト用の改行を使っている
- セルが「ラップテキスト(折り返し)」設定になっていない
- メッセージボックスで文字数制限に引っかかっている
対処法
- メールであれば
<br>
を使う(HTMLモードの場合) - シートであればセルの書式設定で折り返しを有効にする
- Windows系クライアントを想定するなら「\r\n」を試す
- 文字列を出力する前に型やエンコードを確認する
実務での失敗事例
営業部門で日次報告メールを送信するスクリプトを作った際、改行が反映されず「読みづらい」と苦情が相次ぎました。原因はMailApp.sendEmail()
をHTMLモードで使っていたのに「\n」で改行していたことです。修正して「<br>」を挿入したところ、綺麗に表示されるようになりました。
改行を2行入れるテクニック
2行改行の方法
「gas 改行 2行」で調べる人は、1行ではなく段落のように間隔を空けたいケースが多いです。その場合は「\n\n」と連続して書きます。
let text = "第1部の説明が終了しました。\n\n次に第2部を始めます。";
これで1行分のスペースが空き、段落が強調されます。
業務での活用
広報部門が定例メールを送る際、1行改行だと情報が詰まりすぎて読みづらいという声がありました。そこで「\n\n」で2行改行を入れたところ、読みやすさが改善し、社員アンケートでも「内容を最後まで読む人」が増えました。
注意点
ただし、環境によっては「\n\n」が無視されて1行しか空かないことがあります。特にHTMLメールでは「<br><br>」に変える必要があります。
長いコードを改行して読みやすくする方法
コードの可読性と改行
「gas 長いコード 改行」で悩む人は、スクリプトが長くなって横に広がり、読みづらくなるケースが多いです。コードの改行は見た目の問題だけでなく、保守性やエラーの発見にも大きく影響します。
例えば、以下のような長い1行コードは非常に読みづらいです。
let result = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート1").getRange(1,1).getValue();
これを改行して整形すると次のようになります。
let result = SpreadsheetApp
.getActiveSpreadsheet()
.getSheetByName("シート1")
.getRange(1,1)
.getValue();
業務でのメリット
開発チームが共有するコードでは、改行を正しく入れて整形しただけで、レビュー時間が30%短縮できたという事例もあります。特に外部委託先や海外のチームとコードをやり取りする場合、可読性は重要です。
注意点
ただし改行しすぎてコードが縦に間延びすると逆に見づらくなることもあります。プロジェクト全体で「スタイルガイド」を設けて統一するのがベストです。
改行削除でデータを整形する方法
改行削除の必要性
「gas 改行削除」で検索する人は、コピーしたデータに不要な改行が混ざってしまったケースに多く出会います。例えば、アンケート回答や顧客リストを取り込んだとき、セル内に改行が残っていると処理がしにくくなります。
実装例
不要な改行を削除するには、正規表現を使って「\n」を空文字に置き換えます。
let value = "山田太郎\n営業部";
let clean = value.replace(/\n/g, "");
Logger.log(clean); // 山田太郎営業部
実務事例
顧客データベースを扱う企業では、改行が混ざっているせいで名簿の検索がうまくいかないトラブルがありました。GASで一括削除処理を行ったことで、検索精度が上がり、営業部門から「探しやすくなった」と喜ばれました。
注意点
改行を削除すると見やすさが損なわれる場合があります。必要に応じて、スペースに置換するなど工夫が必要です。
まとめ
改行は単なる見た目の調整ではなく、業務効率に直結する大切な要素です。
- GASでは「\n」が基本、Windowsや特定環境では「\r\n」も意識する
- メール本文やHTMLでは「<br>」が必要な場合がある
- セル内改行は便利だが、外部システムとの連携には注意
- 改行できないときはコード種別や設定を確認
- 長いコードは改行で整形することで保守性が向上
- 不要な改行は削除してデータを整える
日常業務で必ず直面する「改行」の問題を、正しく理解し対処することで、資料やメール、システムの見やすさと効率性が大きく改善します。この記事で紹介したテクニックを、ぜひあなたの職場のスクリプトにも取り入れてみてください。