2016-12-22 2 views
1

Ich möchte 2 Zellen verketten, um ein Datum in Apps-Skript zu erstellen, um ein Ereignis zum Kalender hinzuzufügen.Google Apps Script Datum in zwei Spalte

function AgendaL13() { 
    var classeur = SpreadsheetApp.getActive(); 
    var feuille1 = classeur.getSheetByName("TABLEAU DE BORD") 
    var sheetNom = feuille1.getRange("D4").getDisplayValue(); //Nom client 
    var titre = feuille1.getRange("E5").getDisplayValue(); // title of event 
    var cal = CalendarApp.getDefaultCalendar(); // default calendar 

    var date = feuille1.getRange('H13').getValue(); // date 22/12/2016 
    var heure = feuille1.getRange('I13').getValue(); // Hour 18:00 

    var dateNew = date+heure; 

    cal.createEvent(sheetNom+ " : " +titre, dateNew, dateNew); 
} 

ich will datenew = Do 22. Dezember 2016 18.00.00 GMT + 0100 (CET)

Ist es möglich? Sorry für mein schlechtes Englisch (ich bin französisch)

Antwort

0

Versuchen:

date.setHours(heure.getHours()); 
date.setMinutes(heure.getMinutes()); // if you use minutes 
date.setSeconds(heure.getSeconds()); // if you use seconds 

Dies wird date ist Zeit zu heure ist Zeit eingestellt.

1

Ich arbeitete auch an einem ähnlichen Fall. Dies funktionierte für mich:

function myFunction() 
{ 
    var sheet = SpreadSheetApp.openById("SheetId").getSheetByName("SheetName"); 
    var data = sheet.getDataRange(2,1,sheet.getLastRow(),sheet.getLastColumn()).getValues(); 

    var date = data[rowIndexforDate][columnIndexforDate]; 
    var time = data[rowIndexforTime][columnIndexforTime]; 

    var eventTime = setTimeToDate(date,time); 

    //after this would be the code for the creation of the event 
} 

function setTimeToDate(date,time) //this function does the job 
{ 
    var t = time.split(":"); //in my case the time is separated by ":" 

    var dateMod = new Date(date.setHours(t[0],t[1],t[2],0)); 
    return dateMod; 
} 
Verwandte Themen