0

gdocの本文を電子メールに追加することは可能ですか?私はそれをどのように行うかについてはちょっと考えていますが、完全にはわかりません。私はちょっと助けになるようにこのコードを以下に書きました。私はこれに不慣れで、いくつかのスクリプトを実行することができましたが、これで完全に迷子になりました。私はいくつかのビデオを見ました、そしてこれは私がすることができたものです。コードは以下のとおりです。基本的に私がやりたいのは、ユーザーに自分の名前と別の変数を入力させてから、Googleドキュメントファイルに移動して入力した値に変更し、それをメールに戻してに送信できるようにすることです。アドレス...私が間違っていることやどこから始めるべきかについてのアイデアはありますか?前もって感謝します。

function gsnot() {
var emailaddress="albdominguez25@gmail.net";
var sub="Subject1";
var pattern = Browser.inputBox("Enter your name");
var pattern2 = Browser.inputBox("Enter the minutes:");
var templateDocID= ScriptProperties.getProperty("EmailTemplateDocId");
var doc = DocumentApp.openById(templateDocID);
  var body = doc.getActiveSection()
var html = "";


var keys = {
name: pattern, 
min: pattern2,
};

for ( var k in keys ) {
body.replaceText("%" + k + "%", keys[k]);

doc.saveAndClose();
html = getDocAsHtml(docId);
DocsList.getFileById(docId).setTrashed(true);

return html;

var emailaddress="albdominguez25@gmail.net";
var sub="Subject1";

MailApp.sendEmail(emailaddress,sub, {htmlBody: body});}}
4

1 に答える 1

0

ドキュメントの本文を変数に読み込み、変数を置き換えてメールに挿入することで、コードを変更することをお勧めします。例えば:

function gsnot() {
  var emailaddress = "albdominguez25@gmail.net";
  var sub = "New Subject";
  var pattern  = Browser.inputBox("Enter your name:");
  var pattern2 = Browser.inputBox("Enter the minutes:");
  var templateDocID = ScriptProperties.getProperty("EmailTemplateDocId");
  var doc  = DocumentApp.openById(templateDocID);
  var body = doc.getText();
  var replacement;
  var k;

  var keys = {
    name: pattern, 
    min:  pattern2
  };

  for (k in keys) {
    if (keys.hasOwnProperty(k)) {
      replacement = new RegExp("%" + k + "%",'g');
      body = body.replace(replacement, keys[k]);
    }
  }
  MailApp.sendEmail(emailaddress,sub, '', {htmlBody: body});
}

いくつかの注意:

  • 関数の先頭にすべてのvarステートメントを含めるのは良い形式です
  • for-in(for(k in keys)など)を使用すると、オブジェクトのすべてのプロパティが返されます。割り当てたものだけが必要です。これが理由です:for(k in keys)
  • 各プロパティにメールを送信しましたが、for-inループの外側に送信したかったので、すべての置換が完了した後にのみ送信されたと思います。
  • replace()を使用して、グローバルに設定された正規表現オブジェクトを作成する必要があります。そうしないと、パターンの最初のインスタンスのみが置き換えられます(名前は2回あります)。
  • sendEmail()のパラメーターで、htmlBodyオプションを使用している場合でも、プレーンテキストの本文を指定する必要があります。空の引用符''を使用しました。
于 2012-10-29T10:14:51.100 に答える