0

我绝不是程序员,但我能够将一个脚本放在一起,查找带有附件的电子邮件,找到附件并将其保存到 Google Drive 并将主题行记录到电子表格中。这是执行此操作的部分:

function sendToGDrive() {    

var sheet   = SpreadsheetApp.getActiveSheet();
var gLabel  = sheet.getRange("G1:G1").getValues();
var gFolder = sheet.getRange("H1:H1").getValues();
var row = SpreadsheetApp.getActiveSpreadsheet().getLastRow() + 1;

var threads = GmailApp.search("label:" + gLabel, 0, 5);  
var folder  = DocsList.getFolder(gFolder);

for (var x=0; x<threads.length; x++) {

var messages = threads[x].getMessages();

for (var y=0; y<messages.length; y++) {

var att = messages[y].getAttachments();

 for (var z=0; z<att.length; z++) {
    try {
      var file = folder.createFile(att[z]);
      sheet.getRange(row,1).setValue(Utilities.formatDate(messages[y].getDate(), "PST",        "yyyy-MM-dd"));
      sheet.getRange(row,2).setValue(messages[y].getSubject());                                      
      var id = "https://mail.google.com/mail/?shva=1#all/" + messages[y].getId();
      sheet.getRange(row,3).setFormula('=hyperlink("' + id + '", "View email")');
      var url = file.getUrl();
      sheet.getRange(row,4).setFormula('=hyperlink("' + url + '", "View image")');
      sheet.getRange(row,5).setValue(file.getName());
      row++;
      Utilities.sleep(1000);
    }

我想不通的是如何扩展此脚本以同时查找没有附件的电子邮件并执行上述所有操作。我认为它需要 if/or 语句,我只是不知道如何使它工作。请帮忙。

4

1 回答 1

1

后:

var att = messages[y].getAttachments();

你想要类似的东西

if(att.length==0) {
   // no attachments code
} else {
   // attachments code
   for (var z=0; z<att.length; z++) {
   ......

}

Eddy - 构建 Web 应用程序的电子表格论坛

于 2013-11-07T23:49:19.740 回答