我有搜索Google电子表格的任何重复条目的代码。当找到重复项时,会弹出一个消息框告诉用户。它询问用户他/她是否想用YES和NO按钮删除副本。在Google电子表格中创建自定义msgBox按钮
这一切工作正常。但是,理想情况下,我不想使用YES和NO按钮,而是希望有三个按钮:“删除原始”,“删除重复”和“不要删除(或取消)”,以便用户可以选择要删除的项目。
有什么方法可以在消息框中创建自定义按钮吗?或者,至少要更改股票的名称是/否按钮,并有一个取消按钮?
编辑:
这是我的HTML代码,弹出一个对话框:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function onSuccess(result)
{
var resultInfo = document.getElementById("myPara");
resultInfo.innerHTML = result;
}
google.script.run.withSuccessHandler(onSuccess(result)).passResultToHTML();
</script>
</head>
<body>
<p id = "myPara">This is the default text.</p>
<div id = "myDiv"></div>
<button onclick=google.script.run.deleteOriginalTitle()>Delete Original</button>
<button onclick=google.script.run.deleteDuplicateTitle()>Delete Duplicate</button>
</body>
</html>
编辑2:
代码在.GS:
function findDuplicateTitles()
{
var startRow = Browser.inputBox("At which row would you like to start the search?\\n\\n");
var output = HtmlService.createHtmlOutputFromFile("scriptTestingHTML").setSandboxMode(HtmlService.SandboxMode.IFRAME);
for (var x = (startRow - 1); x < titleColumnArray.length; x++)
{
currentTitle = titleColumnArray[x][0];
var y = x + 1;
for (y; y < titleColumnArray.length; y++)
{
if (titleColumnArray[y][0] == currentTitle)
{
currentTitleValues = sheet.getRange(x + 1, 1, 1, 8).getDisplayValues()
duplicateFound = true;
duplicateCount++;
duplicateRowNum = y + 1;
duplicateTitleValues = sheet.getRange(duplicateRowNum, 1, 1, 8).getDisplayValues();
//resultString is a global String
resultString = "I found a duplicate entry \\n\\n" +
"Original Title on Row: " + (x + 1) + "\\n\\n" +
currentTitleValues[0][0] + " | " +
currentTitleValues[0][1] + " | " +
currentTitleValues[0][2] + " | " +
currentTitleValues[0][3] + " | " +
currentTitleValues[0][4] + " | " +
currentTitleValues[0][5] + " | " +
currentTitleValues[0][6] + " | " +
currentTitleValues[0][7] + " | " +
"\\n\\n" +
"Duplicate Title on Row: " + duplicateRowNum +
"\\n\\n" +
duplicateTitleValues[0][0] + " | " +
duplicateTitleValues[0][1] + " | " +
duplicateTitleValues[0][2] + " | " +
duplicateTitleValues[0][3] + " | " +
duplicateTitleValues[0][4] + " | " +
duplicateTitleValues[0][5] + " | " +
duplicateTitleValues[0][6] + " | " +
duplicateTitleValues[0][7] + " | " +
"\\n\\nDelete this duplicate? Or delete the original?";
Logger.log(resultString);
SpreadsheetApp.getUi().showModalDialog(output, "Duplicate Entry Found");
Utilities.sleep(5000);
}
}
}
后r esultString设置和打开的对话框中,HTML调用打开了该功能:
function passResultToHTML()
{
return resultString;
}
欢迎来到[so]。请按照[旅游]和结帐[问]。 –