替換以下行的代碼:
var response = ui.prompt('BUG Confirmation', 'How many Interactions ?', ui.ButtonSet.YES_NO);
要:
var response = ui.prompt('BUG Confirmation', 'How many Interactions ?', ui.ButtonSet.YES_NO).getResponseText();
===============
編輯: 以下是應該工作的完整代碼:
function Anunaki() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetOne = ss.getSheetByName("KEY WORK");
var sheetTwo = ss.getSheetByName("BUGS");
if(ss.getActiveSheet().getName() != sheetOne.getName())
return;
var j = sheetTwo.getLastRow() + 1;
var data = sheetOne.getDataRange().getValues();
var row = sheetOne.getActiveRange().getRow();
var columnCount = data[0].length
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('BUG Confirmation', 'How many Interactions ?', ui.ButtonSet.YES_NO).getResponseText();
if (response === "0") {
ui.alert('Opps Zero I don\'t believe you, Try again');
}
else if (response === "1") {
sheetOne.getRange(row,1,1,columnCount).copyTo(sheetTwo.getRange(j,1,1,columnCount));
}
else if (response === "2") {
sheetOne.getRange(row,1,1,columnCount).copyTo(sheetTwo.getRange(j,1,1,columnCount));
}
else {
ui.alert('Please enter a numeric value between 1 to 2');
}
};
注:
我已經在腳本中添加「無功行」來獲取當前行這需要getRange函數用來獲取的整個行範圍內的值。
編輯:要獲得唯一的值,而不是公式中的目的地表,請嘗試以下代碼:
function Anunaki() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetOne = ss.getSheetByName("KEY WORK");
var sheetTwo = ss.getSheetByName("BUGS");
if(ss.getActiveSheet().getName() != sheetOne.getName())
return;
var j = sheetTwo.getLastRow() + 1;
var data = sheetOne.getDataRange().getValues();
var row = sheetOne.getActiveRange().getRow();
var columnCount = data[0].length
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('BUG Confirmation', 'How many Interactions ?', ui.ButtonSet.YES_NO).getResponseText();
if (response === "0") {
ui.alert('Opps Zero I don\'t believe you, Try again');
}
else if (response === "1") {
var values = sheetOne.getRange(row,1,1,columnCount).getValues();
sheetTwo.getRange(j,1,1,columnCount).setValues(values)
}
else if (response === "2") {
var values = sheetOne.getRange(row,1,1,columnCount).getValues();
sheetTwo.getRange(j,1,1,columnCount).setValues(values)
}
else {
ui.alert('Please enter a numeric value between 1 to 2');
}
};
感謝您的及時答覆。 – Mask
ji現在我還有一個問題,它沒有從單元獲取數據並粘貼到另一個表單。它給出這個錯誤「在對象中找不到函數copyTo」 – Mask
你的代碼並不是很清楚,你究竟想要拷貝什麼? – Kishan