2017-05-05 12 views
1

언제든지 var file = dir.createFile(blob).setContent('Stores_Month.pdf');이 필요하며 지정된 Google 드라이브 폴더에있는 기존 Stores_Month.pdf 파일을 덮어 씁니다.특정 Google 드라이브 폴더에 기존 파일 덮어 쓰기

function runCBUEBUquarterly() { 

    var file = DriveApp.getFilesByName("Data_Stores_Quarter.csv").next(); 
    var csvData = Utilities.parseCsv(file.getBlob().getDataAsString()); 
    var sheet = SpreadsheetApp.getActive().getSheetByName('Data_Month'); 
    sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData); 


/* Highlight all sort range and sort by AS - Okanagan */ 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = SpreadsheetApp.getActive().getSheetByName('Stores_Month'); 
    var range = sheet.getRange("A5:AS10"); 

// Sorts by the values in column (AS) 
    range.sort({column: 45, ascending: false}); 


    /* Highlight all sort range and sort by AS - LM & Whistler */ 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = SpreadsheetApp.getActive().getSheetByName('Stores_Month'); 
    var range = sheet.getRange("A13:AS24"); 

// Sorts by the values in column (AS) 
    range.sort({column: 45, ascending: false}); 


/* Save as PDF to Google Drive */ 
    SpreadsheetApp.flush(); 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = SpreadsheetApp.getActive().getSheetByName('Stores_Month'); 

    var url = ss.getUrl(); 

    //remove the trailing 'edit' from the url 
    url = url.replace(/edit$/,''); 

    //additional parameters for exporting the sheet as a pdf 
    var url_ext = 'export?exportFormat=pdf&format=pdf' + //export as pdf 
    //below parameters are optional... 
    '&size=letter' + //paper size 
    '&portrait=false' + //orientation, false for landscape 
    '&fitw=false' + //fit to width, false for actual size 
    '&pagenumbers=true' + //fit to width, false for actual size  
    '&sheetnames=false&printtitle=false' + //hide optional headers and footers 
    '&gridlines=false' + //hide gridlines 
    '&fzr=true' + //do not repeat row headers (frozen rows) on each page 
    '&gid=' + sheet.getSheetId(); //the sheet's Id 

    var token = ScriptApp.getOAuthToken(); 

    var response = UrlFetchApp.fetch(url + url_ext, { 
     headers: { 
     'Authorization': 'Bearer ' + token 
     } 
    }); 

    var blob = response.getBlob().setName(sheet.getName() + '.pdf'); 

    //from here you should be able to use and manipulate the blob to send and email or create a file per usual. 
    //In this example, I save the pdf to drive 



    var dir = DriveApp.getFoldersByName('CBU & EBU - Quarterly Tracker').next(); 
    var file = dir.createFile(blob).setContent('Stores_Month.pdf'); 

} 
+0

도움이된다면 여기에 블로그 게시물이 있지만 제대로 작동하지 않는 것 같습니다. https://ctrlq.org/docs/20472-overwrite-existing-files-in-google-drive 'Drive.Files.update ({'가 감가 상각되거나 문제를 일으키는 것으로 보입니다.) –

답변

1

다음 코드와 같은 것을 사용해야 할 수도 있습니다. 테스트를 거치지 않았지만 시도해보고 결과를 확인합니다.

+0

PDF로 보입니다. 파일은 이제 빈 페이지를 출력하고있다. 어떤 제안? –

+0

'blob'에 어떤 것이 있는지 궁금하다. blob을 검사하기 위해'Logger.log()'줄을 코드에 추가했다. 로그를보고 blob에 대한 로그에 무엇이 인쇄되고 있는지 확인하십시오. –

+0

로그에 물음표 기호가있는 횡령의 무리입니다. 여기에 붙여 넣기에는 너무 큽니다. https://pastebin.com/ndS5PgNZ –

관련 문제