【问题标题】:Is it possible to do Input-based queries in Apps Script?是否可以在 Apps 脚本中进行基于输入的查询?
【发布时间】:2019-08-13 20:03:33
【问题描述】:

我想开发一个函数:

  1. 要求输入文本。

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

  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)");
}

运行此函数我收到此错误消息:

“参数列表后缺少 )。(第 73 行,文件“按钮”)关闭。”

【问题讨论】:

  • where H= '"+text+"';
  • 太好了,非常感谢!

标签: google-apps-script google-sheets google-query-language


【解决方案1】:

有可能!

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

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

所以你可以这样做:

H='"+文本+"';

H = "\"+文本+\"";

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

【讨论】:

  • 完美!非常感谢!
猜你喜欢
  • 2016-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
  • 2023-04-03
  • 1970-01-01
相关资源
最近更新 更多