스프레드시트에서 수정, 삭제 버튼 만들기
# 수정할 데이터 찾아서 수정하기
function showEditPrompt() {
var ui = SpreadsheetApp.getUi();
var result = ui.prompt('데이터 수정', '수정할 데이터를 입력하세요:', ui.ButtonSet.OK_CANCEL);
if (result.getSelectedButton() == ui.Button.OK) {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var found = false;
for (var i = 0; i < data.length; i++) {
if (data[i].indexOf(result.getResponseText()) >= 0) {
var editResult = ui.prompt('데이터 수정', '수정할 내용을 입력하세요:', ui.ButtonSet.OK_CANCEL);
if (editResult.getSelectedButton() == ui.Button.OK) {
sheet.getRange(i+1, data[i].indexOf(result.getResponseText())+1).setValue(editResult.getResponseText());
ui.alert('데이터가 수정되었습니다.');
found = true;
break;
}
}
}
if (!found) {
ui.alert('데이터를 찾을 수 없습니다.');
}
}
}
# 수정할 데이터 찾아서 일괄수정하기
function showEditPrompt1() {
var prompt = Browser.inputBox("수정할 문자열을 입력하세요.", Browser.Buttons.OK_CANCEL);
if (prompt == "cancel") {
return;
}
var replacePrompt = Browser.inputBox("새로운 문자열을 입력하세요.", Browser.Buttons.OK_CANCEL);
if (replacePrompt == "cancel") {
return;
}
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var count = 0;
for (var i = 0; i < data.length; i++) {
for (var j = 0; j < data[i].length; j++) {
if (data[i][j].toString().indexOf(prompt) !== -1) {
sheet.getRange(i + 1, j + 1).setValue(replacePrompt);
count++;
}
}
}
if (count > 0) {
Browser.msgBox("수정 결과", count + "개의 셀이 수정되었습니다.",Browser.Buttons.OK);
} else {
Browser.msgBox("수정 결과", "일치하는 내용이 없습니다.",Browser.Buttons.OK);
}
}
# 삭제할 데이터 찾아서 삭제하기
function showDeletePrompt() {
var ui = SpreadsheetApp.getUi();
var result = ui.prompt('데이터 삭제', '삭제할 데이터를 입력하세요:', ui.ButtonSet.OK_CANCEL);
if (result.getSelectedButton() == ui.Button.OK) {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var found = false;
for (var i = 0; i < data.length; i++) {
if (data[i].indexOf(result.getResponseText()) >= 0) {
sheet.deleteRow(i+1);
ui.alert('데이터가 삭제되었습니다.');
found = true;
break;
}
}
if (!found) {
ui.alert('데이터를 찾을 수 없습니다.');
}
}
}
# 삭제할 데이터 찾아서 일괄삭제하기
function showDeletePrompt1() {
var prompt = Browser.inputBox("삭제할 문자열을 입력하세요.", Browser.Buttons.OK_CANCEL);
if (prompt == "cancel") {
return;
}
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var count = 0;
for (var i = 0; i < data.length; i++) {
for (var j = 0; j < data[i].length; j++) {
if (data[i][j].toString().indexOf(prompt) !== -1) {
sheet.getRange(i + 1, j + 1).setValue("");
count++;
}
}
}
if (count > 0) {
Browser.msgBox("삭제 결과", count + "개의 셀이 삭제되었습니다.",Browser.Buttons.OK);
} else {
Browser.msgBox("삭제 결과", "일치하는 내용이 없습니다.",Browser.Buttons.OK);
}
}