2016-07-03 2 views
1

GAS를 사용하여 특정 드라이브 폴더에 저장된 이미지를 특정 Google 문서에 삽입 할 수 있습니까? 단일 이미지 만 삽입 할 수있는 함수를 작성했습니다. 이 함수는 여기에 첨부 된 것과 같습니다. 이 작업이 진행되는 동안 폴더 안에는 문서에 포함해야 할 몇 가지 다른 이미지가 있습니다. 나는 몇몇 응답 및 통보를위한 google가있다, buat는 단일성 심상에 작동한다. 주요 아이디어는 폴더 안의 이미지 수를 감지하여 문서에 이미지를 포함시키는 것입니다. 어떤 제안?GAS를 통해 Google 문서에 드라이브 폴더에 저장된 이미지 추가

감사합니다.

function emailresponsepdf(){ 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName('Form Responses 1'); 

    var kolomnamaacara = "3"; 
    var lastrow = sheet.getLastRow(); 

    var namaacara = sheet.getRange(lastrow, kolomnamaacara).getValue(); 

    var folders = DriveApp.getFoldersByName(namaacara); 
    while (folders.hasNext()) { 
    var folder = folders.next(); 
    } 

    var files = folder.getFiles(); 
    while (files.hasNext()) { 
    var file = files.next().getBlob(); 
    } 

    var copyId = DriveApp.getFileById(docTemplate) 
.makeCopy(docName +' untuk '+ namaacara) 
.getId(); 

    var copyDoc = DocumentApp.openById(copyId); 

    var copyBody = copyDoc.getActiveSection(); 

    copyBody.replaceText('keyNamaacara', namaacara); 

    copyDoc.getBody().insertImage(0, file); 
    copyDoc.saveAndClose(); 

    var pdf = DriveApp.getFileById(copyId).getAs("application/pdf"); 

    var subject = "Laporan Acara " + namaacara + ""; 
    var body = "Ini laporan acara " + namaacara + " yang diadakan oleh " + organisasi + "."; 
    var email = "[email protected]"; 
    MailApp.sendEmail(email, subject, body, {htmlBody: body, attachments: pdf}); 

    DriveApp.getFileById(copyId).setTrashed(true); 
} 

답변

1

Nevermind. 나는 이미 해결책을 가지고있다. 누구나 똑같은 문제에 직면해야한다. 여기에 내가 추가 한 코드 라인이있다.

var i = 0; 

    var files = folder.getFiles(); 
    while (files.hasNext()) { 
    var file = files.next().getBlob(); 
    copyDoc.getBody().insertImage([i], file); 
    i++; 
    } 

var files = folder.getFiles(); 
    while (files.hasNext()) { 
    var file = files.next().getBlob(); 
    } 
. 
. 
. 
. 
. 
. 
copyDoc.getBody().insertImage(0, file); 

희망이 있습니다.

관련 문제