-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcopyrow.js
67 lines (60 loc) · 2.47 KB
/
copyrow.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
function myFunctionTwo() {
Logger.log(ss.getName());
var sheet = ss.getSheetByName("Form Responses 1");
var row = sheet.getLastRow();
Logger.log(row);
var request = new Submission(row, sheet);
Logger.log(request);
}
function myCopyfunction() {
var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1_aL5HOiEVUCf9Zz_qocSRdnd9ZSqBDT9tdke6V4rH_I/edit');
Logger.log(`SpreadSheet Name: ${ss.getName()}`);
const sheetX = ss.getSheetByName("copy-row");
const sheetY = ss.getSheetByName("copy-row-to");
copyRow(sheetX, sheetY);
}
/**
*
* @param {*} sheetX
* @param {*} sheetY
*/
function copyRow(sheetX, sheetY) {
const row = sheetX.getLastRow();
Logger.log(`Copying row ${row} from Sheet: ${sheetX.getName()}`);
var valuesToCopy = sheetX.getRange(row, 1, 1, sheetX.getLastColumn()).getValues();
Logger.log(`Values: ${valuesToCopy}`);
let toRow = sheetY.getLastRow() + 1;
Logger.log(`Copying To row ${toRow} on Sheet: ${sheetY.getName()}`);
sheetY.getRange(toRow, 1, 1, valuesToCopy[0].length).setValues(valuesToCopy);
}
/**
* Creates an object from the provided row
* Needs customized to match data desired to be retreeived.
* @TODO should chnged to be generic
*/
function Submission(row) {
this.row = row;
// when reservation form was filled out
this.timestamp = aSheet.getRange(row, 1).getValue();
// email who filled out form
this.email = aSheet.getRange(row, 2).getValue();
// Displayed Description
this.eventDisplayed = aSheet.getRange(row, 3).getValue();
// data of event
var eventDate = new Date(aSheet.getRange(row, 4).getValue());
// fix event start
var startTime = aSheet.getRange(row, 5).getValue();
this.startTimestamp = new Date(eventDate.getFullYear(), eventDate.getMonth(), eventDate.getDate(), startTime.getHours(), startTime.getMinutes());
//use this for formatting
this.dateString = Utilities.formatDate(this.startTimestamp, 'America/New_York', 'MMMM dd, yyyy');
//this.timeString = this.startTimestamp.toLocaleTimeString();
// fix endtime
var eventTimeEnd = calendarSheetName.getRange(row, 6).getValue(); // eventTimeEnd(F)
this.endTimestamp = new Date(eventDate.getFullYear(), eventDate.getMonth(), eventDate.getDate(), eventTimeEnd.getHours(), eventTimeEnd.getMinutes());
// Displayed Description
this.eventDescription = aSheet.getRange(row, 7).getValue();
// contact phone
this.name = aSheet.getRange(row, 9).getValue();
// contacts name
this.name = aSheet.getRange(row, 10).getValue();
}