2017-03-14 6 views
1

私はプロジェクトに取り組んでいますが、主要な障害物を見つけました。そうでなければ、私はそれの周りに長い道を取らなければならない。Cell値からChar(10)をGoogleスプレッドシートにインポートします

私はキャリッジリターンを含む単純な数式でセルを持っている:

= "グッド" & CHAR(10)& "モーニング"

セルの結果は次のようになります。

」 「モーニング

グッド

私は、セルの値に持ち込む簡単な電子メールのスクリプトを実行した場合

は、CHAR(10)を含むセルの値を保持する方法はあります

「グッドモーニング」は、細胞の値からCHAR(10)を取り除き、代わりに以下を返しますか?

Iは、メッセージボックスでそれを試み、それはまだCHAR(10)を除去し、その結果を与える:

"おはよう"

の所望の結果対:

「グッド

メッセージボックス&メールスクリプトを使用

モーニング」:

function ShowCellValue(){ 
var OriginalString = SpreadsheetApp.getActive().getRange("E2").getValue(); 
var NewString = OriginalString.replace(/\n/g, '\\n') 
Browser.msgBox(NewString); 
} 

function SendEmail(){ 
var subject = "Subject Goes Here"; 
var OriginalString = SpreadsheetApp.getActive().getRange("E2").getValue(); 
var NewString = OriginalString.replace(/\n/g, '<br>') 
var recipients = "[email protected]"; 

var message = "<HTML><BODY><font size=4>" 
    + "<P>" + "" 
    + "<BR>" + "Here is the value of cell E2: " 
    + "<BR>" + "" 
    + "<BR>" + "" 
    + "<BR>" + NewString 
    + "<BR>" + "" 
    + "<BR>" + "" 
    + "</HTML></BODY>"; 
MailApp.sendEmail(recipients, subject, "", {htmlBody: message}); 
} 
+1

あなたが代わりにCHAR(10)の、これを試すことができます。 = "Good"& "\ n"& "Morning"。これにより、シートに醜い出力が得られますが、Browser.msgBoxや希望の電子メールに必要な情報が表示されます。 –

+0

コメントありがとうございます。残念ながら、それは文字通りメール本文に "\ n"をもたらします。 –

答えて

2

改行は失われません。 Browser.msgBoxメソッドによって抑制されているだけで、スペースで置き換えられます。以下を比較してください:

var str = SpreadsheetApp.getActive().getRange("E2").getValue(); 
Browser.msgBox(str); // no linebreak shown 
Logger.log(str);  // linebreak shown 

文字列をログに記録することは、msgBoxにスローするよりも良い方法です。

電子メールの出力を直接テストする必要があります。それがmsgBoxに表示されるものとはみなさないでください。

目標は\\n文字列として改行を符号化することによって行うことができるのMsgBoxで改行とテキストを表示する場合:

Browser.msgBox(str.replace(/\n/g, '\\n')); 

(これはまた、電子メールに役立つかもしれないが、私はよく分かりませんそのことについて、電子メールの形式に依存)

電子メール用のHTML形式の使用と、

str.replace(/\n/g, '<br>') 
+0

ノーマル、 メッセージボックスでうまくいきました。どうもありがとうございます! 私はHMTL電子メールでそれを使用しようとしましたが、残念ながらそれらをまとめてグループ化しています。電子メールスクリプトでそのまわりに道があるかどうか知っていますか? –

+0

更新:ログトリックを使用すると、ログにはメールが正しく送信されるはずだが、表示されないことが示されます。私はここに私の電子メールスクリプトを貼り付けることを試みたが、それは私のキャラクターを制限する。 –

+0

次の変更を行い、str.replace(/ \ n/g、 '
')を試してください。基本的にHTMLタグを導入するだけです –

関連する問題