質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

Q&A

解決済

1回答

4213閲覧

GoogleAppsScriptで、body内の記入を複数行で表示したい

UenoJumpei

総合スコア7

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

0グッド

0クリップ

投稿2018/02/05 06:33

前提・実現したいこと

ChatworkAPIとGoogleAppsScriptを連携して、予約投稿するのを書いています。
その中でbodyに複数行を書くので、\n以外での改行表示方法を知りたいです。
\nで書くとchatwork上にうまく行きました。
しかし、GoogleAppsScriptで見たときに、横に長い1行になり可読性が低いです。
GoogleAppsScript上で複数行に表示したいです。
無理やりenterで改行して見たら、以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

文字列リテラルが閉じられていません。

該当のソースコード

Google

1function sendMessageTest() { 2 var client = ChatWorkClient.factory({token: 'チャットワークAPIトークン'}); 3 client.sendMessage({room_id: 送りたいルームID, body: '[To:77777777]\nテストです。 4\n\nデータのパスです。\n[info]C:\Users\ユーザー名\Desktop\[/info]'}); 5}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エディタ上での可読性向上に関する質問と解釈しましたが、誤解でしたらご了承ください。

まず1つ目。エラーの原因はスクリプト側の「文」の解釈によるものです。
要するに、「’」で閉じる前に「enter」があるので、そこまでを1文(行)として認識したためですね。
※「enter」を「\n」にすれば、スプレッドシートのセル上では改行表示されます。

次に「\n以外での改行表示方法」ですが、文字コードから「\n」を入力する手もありますが、可読性という意味では余計ひどくなりそうです。

上記より、可読性の向上ということであれば、ある程度のまとまりで区切り、「+」で結合するか、変数にするか、ということで良いと思います。

javascript

1//+で結合の一例 2var client = ChatWorkClient.factory({token: 'チャットワークAPIトークン'}); 3client.sendMessage({ 4 room_id: 送りたいルームID, 5 body: '[To:77777777]\n'+ 6 'テストです。\n\n'+ 7 'データのパスです。\n'+ 8 '[info]C:\Users\ユーザー名\Desktop\[/info]' 9 }); 10 11//変数にする一例 12var client = ChatWorkClient.factory({token: 'チャットワークAPIトークン'}); 13var a = '[To:77777777]\n'; 14var b = 'テストです。\n\n'; 15var c = 'データのパスです。\n'; 16var d = '[info]C:\Users\ユーザー名\Desktop\[/info]'; 17client.sendMessage({room_id: 送りたいルームID, body: a+b+c+d});

参考になれば幸いです。

投稿2018/02/07 01:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

UenoJumpei

2018/02/09 08:32

回答ありがとうございます。 「エディタ上での可読性向上に関する質問」で問題ございません。 「'」でもエラーが出ましたが、「"」で解決でき、想定した挙動を確認できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問