2

最近、GoogleフォームのonSubmitで実行されるGoogleAppsScriptを作成しました。フォームにキャプチャされた情報は、HTML形式で承認マネージャーに自動的に電子メールで送信されます。

メールに「承認」と「拒否」の2つのボタンを含めることで、ワークフローを追加しようとしました。ただし、これらのボタンに関数をアタッチできません(たとえば、送信ボタンは電子メールをXに転送します)。

誰かがこれを手伝ってくれるとありがたいです-私はオンラインソリューションを見つけたり理解したりすることができませんでした、そして私はこれに頭を悩ませているかもしれないと恐れています。以下は私のコードです:

     function notfiy(e) {


  var username = e.values[1].toString();
  var requestfor =  e.values[2].toString();
  var location =e.values[3].toString();
  var department = e.values[4].toString();
  var phonenumb = e.values[5].toString();
  var extension = e.values[6].toString();
  var approver = e.values[7].toString();
  var computer = e.values[8].toString();
  var monitor = e.values[10].toString();
  var accessories = e.values[12].toString();

  var html = 
    '<body>' +
    +'<h2>'+ username + ' has submitted a request to purchase equipment for ' + requestfor + ' </h2>' + '<br>' + '<br>' +
    'Location: ' + location +
    '<br> Department: ' + department +
    '<br> Phone Number: ' + phonenumb +
    '<br> Extension: ' + extension +
    '<br> <br> The following materials have been requested for purchase: ' +
    '<br> <br> Software: ' +
    '<br> Computer: ' + computer +
    '<br> Monitor: ' + monitor +
    '<br> Computer Accessories: ' + accessories + '<br> <br> The ship to location for said materials is :' + '<br> <br> <br> <br>' +

    '<input type="submit" value="Approve" />' + '<br>'+
    '<input type="submit"  value="Deny" />' +
    '</body>'; 

    MailApp.sendEmail(approver, "Equipment Request: " + username, 'No html body);', {htmlBody: html});


}
4

2 に答える 2

1

これを行う方法についてのビデオチュートリアルを追加しました: https ://sites.google.com/site/scriptsexamples/home/announcements/emailapprovalusinggooglescriptandaform

于 2012-05-06T15:16:47.340 に答える
0

HTML本文でフォームを使用するだけですが、1つの承認を行うと正常に機能するという奇妙な動作がありましたが、次の1つで、Gmailは既に送信されたと見なし、ダイアログを再度開くことはありません。

私がやっていることは、ボタンのように見せることができる標準のリンク(アンカー)を使用することです。これらにより、公開されたUiAppページに移動し、URLの最後に選択肢が追加されます。approve=true。

これはe.parameterで渡されるため、次のようになります。

doGet(e){
 var approve = e.parameter.approve;
 //do something with the info. 
} 

このチュートリアルの一部を見ることができます:http: //googlescriptexamples.com/ticketsおよびGoogleScriptBookのワークフローの章は次のように機能します。

于 2012-05-05T23:31:50.810 に答える