Created
July 3, 2018 04:47
-
-
Save eojji/dda5ede24e9f55bbfe22944f5c4328a6 to your computer and use it in GitHub Desktop.
Pick and Copy Sheet, Query Exact: /folders. G folder copy https://cafe.naver.com/eojji/320
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function pacProcessForm_(url, pickAndCopyFolder) { | |
var appMessage = {}; | |
appMessage.message = 'Pick and Copy data'; | |
var thisName = 'PaC Process Form'; | |
appMessage.title = thisName; | |
appMessage.url = url; | |
var id; | |
var rtn = url.match(/[-\w]{25,}/); | |
if (rtn) { | |
id = rtn[0]; | |
} else { | |
console.warn('Error input url: %s - %s', url, thisName); | |
appMessage.message = 'Error get ID'; | |
return appMessage; | |
} | |
var ss; | |
try { | |
ss = SpreadsheetApp.openById(id); | |
} catch(e) { | |
console.warn('Error: %s, %s - PaC SpreadsheetApp.openById: %s', e.name, e.message, id); | |
appMessage.message = 'Error: '+e.name+', '+e.message; | |
return appMessage; | |
} | |
var pacSsName = ss.getName(); | |
appMessage.title = pacSsName+' - '+thisName; | |
appMessage.url = ss.getUrl(); | |
// column = 3; // Cell: C1 ~ Cn | |
var sheet = ss.getSheets()[0]; | |
var lastRow = sheet.getLastRow(); | |
if (!lastRow || lastRow < 1) { | |
appMessage.message = 'Not found data'; | |
return appMessage; | |
} | |
var values = sheet.getRange(1, 3, lastRow, 1).getValues(); | |
if (!values || values.length < 1) { | |
appMessage.message = 'No data - sheet.getRange(1, 3, lastRow, 1).getValues'; | |
return appMessage; | |
} | |
var data = listFilesByPacSSheet_(values); | |
if (!data) { | |
appMessage.message = 'No data - listFilesByPacSSheet'; | |
return appMessage; | |
} | |
var parentId = pickAndCopyFolder.id; | |
var goalFolder = insertFolderById_(parentId, pacSsName); | |
if (!goalFolder || !goalFolder.id) { | |
console.warn('Error: %s, %s - insertFolderById(parentId: %s, %s)', goalFolder.name, goalFolder.message, parentId, pacSsName); | |
appMessage.message = 'Error '+goalFolder.name+', '+goalFolder.message; | |
return appMessage; | |
} | |
appMessage.url = goalFolder.alternateLink; // ss.getUrl(); | |
appMessage.title = goalFolder.title; // ss.getName(); | |
appMessage.message = 'Create folder'; // 'Create Spreadsheet'; | |
var ssFolder = createFolderSpreadsheet_(goalFolder.title, goalFolder.id); | |
if (!ssFolder) { | |
appMessage.message = 'Error Create _gfolder Spreadsheet'; // 'Create Spreadsheet'; | |
return appMessage; | |
} | |
var sheetFolder = ssFolder.getSheetByName('folder'); | |
sheetFolder.appendRow([pacSsName, '', '', 0, 0, '', '', 3, parentId]); | |
// var sheetFolder = ssFolder.getSheets()[0]; | |
// pac 시트에서 폴더와 파일을 분리해서 gfolder 시트에 각각 기록한다. | |
var sheetFiles = ssFolder.getSheetByName('files'); | |
sheetAppendFiles_(goalFolder.id, data, sheetFolder, sheetFiles); | |
setFolderSSIdProperty(ssFolder.getId()); | |
appMessage.url = ssFolder.getUrl(); | |
appMessage.title = ssFolder.getName(); | |
appMessage.message = 'Create gfolder Spreadsheet'; | |
// trigger 기동 | |
triggerAfterByName('trigCpFolderBySheet_', 1000); | |
return appMessage; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment