2

行の特定のセルが完了すると電子メールを送信する Google スプレッドシートの背後にあるスクリプトがあります。このスクリプトは、ハードコードされた複数の電子メール アドレスに送信することで機能します。現在のユーザーのメール アドレスを 2 番目の CC として追加するにはどうすればよいですか? CC の 1 つはハードコードされていますが、2 番目はスプレッドシートを更新する人によって変わります。メールアドレスを取得する方法は知っていますが、実際に CC されるように変数として渡すにはどうすればよいですか?

var currentemail = Session.getActiveUser().getEmail();

var options = {cc: 'Session.getActiveUser().getEmail(), someotheremail@domain.com'}; 

また

var options = {cc: 'currentemail, someotheremail@domain.com'};

GmailApp.sendEmail(email, subject, body, options);

明らかにこれらは機能しません:)

よろしくお願いします

4

2 に答える 2

5

これは以下のように行うことができます:

function sendWithCc(){
   var currentemail = Session.getActiveUser().getEmail();
   var options = {};// create object
   options['cc'] = currentemail+',someotheremail@domain.com';// add key & values (comma separated in a string)
   GmailApp.sendEmail('somemail@domain.com', 'subject', 'body', options);
   // I stringified 'subject' and 'body' to make that test work without defining values for it
}
于 2014-10-16T20:12:25.373 に答える
1

例は次のように変更する必要があります。

var options = {cc: Session.getActiveUser().getEmail()+', someotheremail@domain.com'};

または

var options = {cc: currentemail+', someotheremail@domain.com'};

文字列内から関数を呼び出したり、変数を参照したりすることはできません。代わりに、+ 演算子を使用して、変数の値 (または関数呼び出しの戻り値) を文字列と結合します。

このコードが使用されるコンテキストによっては、スクリプトにユーザー ID へのアクセス許可がない場合があることに注意してください。ここの GetActiveUser() の下のメモを参照してください: https://developers.google.com/apps-script/reference/base/session#getActiveUser()

于 2014-10-16T20:31:44.757 に答える