簡體   English   中英

谷歌表格應用程序腳本

[英]google sheets apps script

我想問我有幾行代碼。 直到昨天,一切對我來說都很完美。

現在,當我開始調試腳本時,它以第 24 行的錯誤消息結束 => var ui = SpreadsheetApp.getUi(); .

異常:無法從此上下文調用 SpreadsheetApp.getUi()。 輸入框@ulozDataDoDb.gs:24

但是當我從谷歌表格中的按鈕運行這個腳本時,它起作用了。

有誰知道如何處理它?

function inputBox() {
  
  //definice aktivního sešitu
  var ss = SpreadsheetApp.getActive();

  //definice aktivního listu
  var faktura = ss.getSheetByName("faktura");
  var dataBaze = ss.getSheetByName("db");

  //definice promenných pro dalši práci
  var cisloFaktury = faktura.getRange("I3").getValue();
  var varSymbol = faktura.getRange("E22").getValue();
  var datumVystaveni = faktura.getRange("datumVystaveni").getValue();
  var prijmeni = faktura.getRange("prijmeni").getValue();
  var jmeno = faktura.getRange("jmeno").getValue();
  var prijmeniJmeno = jmeno + " " + prijmeni;
  var castka = faktura.getRange("I55").getValue();
  var konstSymb = faktura.getRange("E23").getValue();
  var specSymb = faktura.getRange("E24").getValue();
  var formaUhrady = faktura.getRange("E19").getValue();
  
  //zapsat do DB
  //popis do DB
  var ui = SpreadsheetApp.getUi();
  var popis_v_DB = ui.prompt("Zadejte název do DB.").getResponseText();
  popis_v_DB = popis_v_DB.split(" ").join("_"); //vyhledá mezery a nahradí znakem

Cannot call SpreadsheetApp.getUi() from this context. 您收到的異常是由於該prompt必須由用戶而不是腳本來操作。

根據文檔

prompt(prompt) - 將在用戶的編輯器中打開一個輸入對話框,其中包含給定的消息和一個“確定”按鈕。 此方法在對話框打開時暫停服務器端腳本。 腳本在用戶關閉對話框后恢復。

參考

嘗試更換

var ui = SpreadsheetApp.getUi();
var popis_v_DB = ui.prompt("Zadejte název do DB.").getResponseText();

經過

var popis_v_DB = Browser.inputBox("Informace.", "Zadejte název do DB.", Browser.Buttons.OK_CANCEL);

但是就您要求某人輸入一個值而言,您將通過工作表而不是腳本編輯器來完成!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM