重複したエントリがあるかどうかGoogleスプレッドシートを検索するコードがあります。重複が見つかると、メッセージボックスがポップアップしてユーザーに伝えられます。 YESとNOボタンで複製を削除するかどうかをユーザーに尋ねます。GoogleスプレッドシートにカスタムmsgBoxボタンを作成
それはすべて正常に動作します。しかし、YESボタンとNOボタンを使用するのではなく、 "Delete Original"、 "Delete Duplicate"、 "Do not Delete(CANCEL)"の3つのボタンが必要です。
メッセージボックス内にカスタムボタンを作成する方法はありますか?または、少なくとも在庫のYES/NOボタンの名前を変更し、CANCELボタンを押しますか?
EDIT:.GSに
コード:
<!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>
EDIT 2:
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);
}
}
}
ここ
は、ダイアログボックスをポップアップ表示するために私のHTMLコードです
r esultStringが設定され、ダイアログが開き、HTMLは次の関数を呼び出します。
function passResultToHTML()
{
return resultString;
}
ようこそ[so]。 [ツアー]とチェックアウト[質問]に従ってください。 –