리스팅을 할 때, 문서의 순번(인덱스)를 넣어줬다.
그렇지 않으면, 도저히 공유(해제)할 문서의 정보를 얻어올 방법이 없다.
출력할 대상 시트는 getSheets()[인덱스]로 지정하면 되고, 테스트한 문서는 두번째라 1을 넣었다.
function listFiles(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[1];//현재 스프레드 시트에서 2번째 시트를 선택한다.
var range = sheet.getRange(1,1,sheet.getMaxRows(), sheet.getMaxColumns());
var files = DocsList.getFolderById('폴더 아이디').getFiles();
var l =0;
for (i in files) {
range.getCell(l+2, 1).setValue(files[i].getName());
editors = files[i].getEditors();
for (j in editors){
editor = editors + 'n';
}
range.getCell(l+2, 2).setValue(editor);
range.getCell(l+2, 3).setValue(files[i].getOwner());
range.getCell(l+2, 4).setValue(files[i].getFileType());
viewers = files[i].getViewers();
for (k in viewers){
viewer = viewers + 'n';
}
range.getCell(l+2, 5).setValue(viewer);
range.getCell(l+2, 6).setValue(files[i].getDateCreated());
range.getCell(l+2, 7).setValue(i);
Logger.log(files[i].getName());
l = l+1;
}
}
function addViewerByOrder(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var row = sheet.getActiveRange().getRow();
var column = sheet.getActiveRange().getColumn();
var cellvalue = ss.getActiveCell().getValue().toString();
Logger.log(cellvalue);
var files = DocsList.getFolderById('폴더 아이디').getFiles();
if(files[cellvalue].getName()!=""){
user = Browser.inputBox(files[cellvalue].getName()+'을 공유할 사용자 xxx@xxx.com 입력');//입력 상자로 공유 대상;
if(user){
files[Number(cellvalue)].addViewer(user);
listFiles();
}
}else{
ss.toast("순번의 한 셀을 선택해 주세요.");
}
}
function removeViewerByOrder(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var row = sheet.getActiveRange().getRow();
var column = sheet.getActiveRange().getColumn();
var cellvalue = ss.getActiveCell().getValue().toString();
Logger.log(cellvalue);
var files = DocsList.getFolderById('폴더 아이디').getFiles();
if(files[cellvalue].getName()!=""){
user = Browser.inputBox(files[cellvalue].getName()+'을 공유 해제할 사용자 xxx@xxx.com 입력');//입력 상자로 공유 대상;
if(user){
files[Number(cellvalue)].removeViewer(user);
listFiles();
}
}else{
ss.toast("순번의 한 셀을 선택해 주세요.");
}
}
댓글 달기