簡體   English   中英

附加多個文件-Google表格/ Gmail /驅動器

[英]Attach multiple files - Google Sheets/Gmail/Drive

我目前有一個腳本來創建電子郵件草稿,並在其中附加文件。 當前,該腳本不適用於多個文件附件,如果沒有附件,該腳本也不起作用。

關於如何獲得(1)和(2)的任何提示[下面]

更新以獲取更多信息:

主要目的是在Col [3]中添加多個文件名,並使用Col [3]中提供的文件名將文件附加到草稿中。 例如:如果我在Col [3]中輸入以下內容:“ test.pdf,test2.pdf”,它將為該特定草稿附加文件“ test.pdf”和“ test2.pdf”。 目前,腳本確實將單個文件附加到草稿,但是如果我輸入多個用逗號分隔的文件名,則根本不會創建草稿。

我已附上運行腳本時電子表格的外觀的屏幕截圖(我目前無法嵌入圖片):

https://imgur.com/a/sVoHO3Q

當我使用屏幕截圖中的信息運行腳本時,第二行根本不會創建草稿,第三行會創建帶有附件的草稿,而第四行根本不會創建草稿。

是否可以創建草稿並使用逗號分隔的文件名附加多個文件,並且在Col [3]中的某些單元格為空時還可以創建草稿?

TLDR:

  1. 如何將多個文件附加到單個草稿

  2. 如何創建沒有任何附件的草稿

 function SaveDrafts() { var sheet = SpreadsheetApp.getActiveSheet(); var startRow = 2; var rows = 1000; var dataRange = sheet.getRange(startRow, 1, rows, 5); var data = dataRange.getValues(); for (i in data) { var row = data[i]; var emailAddress = row[0]; var subject = row[1]; var message = row[2]; var pdfName = row[3]; var cc = row[4]; var list = DriveApp.getFilesByName(pdfName); if (list.hasNext()) { var File = list.next(); GmailApp.createDraft(emailAddress, subject, message, { cc: cc, attachments: [File] }); } } } 

更新:首先,我對pdfName單元格的值執行了split() ,因此可以一次搜索並添加一個文件。

草稿創建僅在有文件的情況下運行,因為它位於if list中,沒有文件表示它不會運行。

我從中拉出了它,並創建了一個list插入器和一個文件數組,該數組可以提供給createDraft()函數。 如果DriveApp.getFilesByName(pdfName)返回多個文件,則迭代器允許將多個文件添加到files數組。

function SaveDrafts() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;
  var rows = 1000;
  var dataRange = sheet.getRange(startRow, 1, rows, 5);
  var data = dataRange.getValues();

  for (i in data) {
    var row = data[i];
    var emailAddress = row[0];
    var subject = row[1];
    var message = row[2];
    var pdfName = row[3].split(','); //split the values taken from cell into array
    var cc = row[4];

    var files = []; //initialize files as empty array.

    for(var j in pdfName){ //run through cell values and perform search
      var results = DriveApp.getFilesByName(pdfName[j]); //Perform the search,results is a FileIterator

      while(results.hasNext()) { //Interate through files found and add to attachment results
        files.push(results.next()); //Add files to array
      }
    }

    GmailApp.createDraft(emailAddress, subject, message, {
      cc: cc,
      attachments: files //the attachments option takes our files array
    });

  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM