2017-08-29 1 views
0

私はスクリプトを書くのがとても新しく、物事をやることによって習っています。本当にたくさん知っている。コードが間違っている、間違っている、または間違ってフォーマットされているとお詫び申し上げます。問題を引き起こす複数行のセルエントリからのpdfエクスポートの名前を作成

私はPDF形式でシートをエクスポートし、特定のセルの文字列に基づいてエクスポートの名前を付ける必要があるこのコードを持っています。これは、複数行のセル入力を混合にドロップするまで機能します。トラブルの原因となるコードは以下の通りです、トラブルを引き起こしているビットがengine[0]です:

function Generate_Form() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    ss.setActiveSheet(ss.getSheetByName('JobRequestForm')); 

    var tpjlr = ss.getRange("H8:I8").getValue(); 
    if (tpjlr.length > 0) { 
         var email = "[email protected]" 
         var email1 = ss.getRange("H5:I5").getValue() + ("@jaguarlandrover.com"); 
         var email2 = ss.getRange("H6:I6").getValue() + ("@jaguarlandrover.com"); 
         } 

    var subject = "Job request from " +ss.getRangeByName("D5:E5").getValue()+ "_" +ss.getRangeByName("D13:E13").getValue()+ "_" +ss.getRangeByName("D14:E14").getValue()+ "_TPJLR_" +ss.getRangeByName("H8:I8").getValue()+ "_" +ss.getRangeByName("D7:E7").getValue(); 
    var body = "Objective of the request:- " + ss.getRange("D18:I18").getValue(); 
    var url = "https://docs.google.com/spreadsheets/d/SS_ID/export?".replace("SS_ID", ss.getId()); 

    var url_ext = 'exportFormat=pdf&format=pdf'  // export as pdf/csv/xls/xlsx 
    + '&size=letter'      // paper size legal/letter/A4 
    + '&portrait=true'     // orientation, false for landscape 
    + '&fitw=true&source=labnol'   // fit to page width, false for actual size 
    + '&sheetnames=false&printtitle=false' // hide optional headers and footers 
    + '&pagenumbers=false&gridlines=false' // hide page numbers and gridlines 
    + '&fzr=false'       // do not repeat row headers (frozen rows) on each page 
    + '&gid='+ss.getSheetId();        // the sheet's Id 

    var token = ScriptApp.getOAuthToken(); 
    var engine = ss.getRange("D15:E15").getValue().split("\n"); 
    var name = ss.getRange("D13:E13").getValue() + "_" + ss.getRange("D14:E14").getValue() + "_" + engine[0] + "_" + engine[1] + "_" + "TPJLR_" + ss.getRange("H8:I8").getValue() + "_" + ss.getRange("D7:E7").getValue() + ".pdf"; 
    var response = UrlFetchApp.fetch(url + url_ext, { 
     headers: { 
     'Authorization': 'Bearer ' + token 
     } 
    }).getBlob().setName(name); 

// var blob = response.getBlob().setName(name); 

    if (MailApp.getRemainingDailyQuota() > 0) 
    GmailApp.sendEmail(email, subject, body, { 
     htmlBody: body, 
     attachments:[response]  
    }); 

答えて

0

だから私は今

作品

var input = ss.getRange("D15:E15").getValue(); 
var engine = input.replace(/(?:\r\n|\r|\n)/g, '_'); 
var name = ss.getRange("D13:E13").getValue() + "_" + ss.getRange("D14:E14").getValue()+ "_" + engine + "_" + "TPJLR_" + ss.getRange("H8:I8").getValue() + "_" + ss.getRange("D7:E7").getValue() + ".pdf"; 

var engine = ss.getRange("D15:E15").getValue().split("\n"); 
var name = ss.getRange("D13:E13").getValue() + "_" + ss.getRange("D14:E14").getValue() + "_" + engine[0] + "_" + engine[1] + "_" + "TPJLR_" + ss.getRange("H8:I8").getValue() + "_" + ss.getRange("D7:E7").getValue() + ".pdf"; 

を置き換えます

関連する問題