是否可以在 Apps 脚本中进行基于输入的查询?

Is it possible to do Input-based queries in Apps Script?

我想开发一个功能:

  1. 请求文本输入。

  2. 在确定的单元格上创建查询公式(并包括输入文本)。

  3. 展开查询(或将数据复制粘贴为值)。

我在第二步遇到了问题,因为我不能两次使用 "" 引号并且 "text" 没有被检测为变量。 是这个吗甚至可能?如果是这样,您有什么想法让它发挥作用吗?

function queryProviderData() {

  //Ask for text input.
  var ui = SpreadsheetApp.getUi(); 
  var result = ui.prompt(
      '¡Carguemos la información!',
      'Ingresa el nombre del proveedor:',
      ui.ButtonSet.OK_CANCEL);

  //Process the user's response.
  var button = result.getSelectedButton();
  var text = result.getResponseText();
  if (button == ui.Button.OK) {
    // User clicked "OK".
    ui.alert('El nombre del proveedor es ' + text + '.');
  } else if (button == ui.Button.CANCEL) {
    // User clicked "Cancel".
    ui.alert('No entendí la información.');
  } else if (button == ui.Button.CLOSE) {
    // User clicked X in the title bar.
    ui.alert('Cerraste el diálogo.');
  }  

  //Make query including text input.
  var sheet = SpreadsheetApp.getActive().getSheetByName('SheetB');
  var cell = sheet.getRange("A1");
  cell.setFormula("=QUERY('Sheet1'!A1:H67;\"SELECT * where H= "text"; -1)");
}

运行 这个函数我收到这个错误信息:

"Missing ) after argument list. (line 73, file "Buttons")Dismiss."

有可能!

Javascript 允许字符串使用 " " 和 ' '(双引号和单引号),因此您可以使用其中之一并将其中之一合并到字符串中。

此外,您可以使用反斜杠字符将引号视为字符而不是字符串终止符。

所以你可以这样做:

H=' "+文本+" ';

H = "\"+文字+\"";

如果您还需要什么,请告诉我!