是否可以在 Apps 脚本中进行基于输入的查询?
Is it possible to do Input-based queries in Apps Script?
我想开发一个功能:
请求文本输入。
在确定的单元格上创建查询公式(并包括输入文本)。
展开查询(或将数据复制粘贴为值)。
我在第二步遇到了问题,因为我不能两次使用 "" 引号并且 "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 = "\"+文字+\"";
如果您还需要什么,请告诉我!
我想开发一个功能:
请求文本输入。
在确定的单元格上创建查询公式(并包括输入文本)。
展开查询(或将数据复制粘贴为值)。
我在第二步遇到了问题,因为我不能两次使用 "" 引号并且 "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 = "\"+文字+\"";
如果您还需要什么,请告诉我!