0
我在Google App腳本中有以下代碼。如何在Google表格中調用外部腳本時添加ui輸入框?
function FixColumns(r) {//I thought you would want to make r an argument like this
var ss = SpreadsheetApp.openById("ID");
var allsheets = ss.getSheets();
for (var s in allsheets){
var sheet=allsheets[s];
if(s > r) {
var maxColumns = sheet.getMaxColumns();
var lastColumn = sheet.getLastColumn();
if (maxColumns-lastColumn != 0){
sheet.setColumnWidth(1, 145);
sheet.deleteColumns(lastColumn+1, maxColumns-lastColumn);
}
}
}
}
function doGet(e) {
return FixColumns();
}
而在我的電子表格中,我提取腳本以僅在服務器端運行它。
function FixColumnsEx() {
UrlFetchApp.fetch("URL");
}
但我希望能夠定義的「R」變量,最好當我在電子表格中運行該腳本時出現的UI輸入框。我試圖搗亂UiApp,但我只是完成了難倒。 我知道如何去做客戶端。
var response = ui.prompt('Start on sheet:');
var r = response.getResponseText();
var r = +r;
但這拋出,當我把它放在上面,因爲它的服務器片面的FixColumns功能的情況下錯誤。
謝謝。
對不起,但我該如何準確地使用showDialog?我試過這樣的事情,但並不完全確定,因爲當我在電子表格中運行腳本時沒有任何反應。 –
您運行對話框。在文本框中輸入你的r值並點擊Fix Column按鈕,它會轉到JavaScript函數fixAColumn,它從文本框中收集r值並調用fixColumns(r)函數。我假設你可以使用fixColumns()的參數。它不會返回任何內容,所以沒有withSuccessHandler。我剛剛編輯了你的問題,以反映我的建議。如果那對你不合適,我會很樂意將它改回來。 – Cooper
對不起,如果我不夠清楚,我的意思是在哪裏/如何運行它。 如果我從GAS項目本身運行它,並且如果將它包含在doGet中,則會發生錯誤。 –