Google apps script 如何检测用户更改表单?

Google apps script 如何检测用户更改表单?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,如何在电子表格中打开特定工作表时检测和触发自定义操作 我在中找不到合适的函数。除了您链接的文档中的API之外,没有提供用于触发用户事件的API 我只能想到一种解决方法:如果您的应用程序包含自定义UI元素,特别是边栏或对话框,那么您可以轮询活动单元格,并从中确定活动工作表 请参阅以获取开始。除了您链接的文档中的API之外,没有提供用于触发用户事件的API 我只能想到一种解决方法:如果您的应用程序包含自定义UI元素,特别是边栏或对话框,那么您可以轮询活动单元格,并从中确定活动工作表 开始请参阅。要按

如何在电子表格中打开特定工作表时检测和触发自定义操作


我在

中找不到合适的函数。除了您链接的文档中的API之外,没有提供用于触发用户事件的API

我只能想到一种解决方法:如果您的应用程序包含自定义UI元素,特别是边栏或对话框,那么您可以轮询活动单元格,并从中确定活动工作表


请参阅以获取开始。

除了您链接的文档中的API之外,没有提供用于触发用户事件的API

我只能想到一种解决方法:如果您的应用程序包含自定义UI元素,特别是边栏或对话框,那么您可以轮询活动单元格,并从中确定活动工作表


开始请参阅。

要按照Mogsdad的建议进行轮询,您可以在侧栏或任何UI元素中使用此代码

$(function() {
   /**
   * On document load, assign click handlers to each button and try to load the
   * user's origin and destination language preferences if previously set.
   */
   poll();
}

function poll(interval){
    interval = interval || 2000;
    setTimeout(function(){
    google.script.run.withSuccessHandler(loadSheetName)
        .withFailureHandler(showError).getSheetName();
    poll();
    }, interval);
};

function loadSheetName(sheetName) {
   alert(sheetName);
   }

function getSheetName() {
   google.script.run.withSuccessHandler(loadSheetName)
        .withFailureHandler(showError).getSheetName();
   }
在你的.gs代码中

function getSheetName() {
var sheetName =         SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
return sheetName;
}

要按照Mogsdad的建议进行轮询,您可以在侧栏或任何UI元素中使用此代码

$(function() {
   /**
   * On document load, assign click handlers to each button and try to load the
   * user's origin and destination language preferences if previously set.
   */
   poll();
}

function poll(interval){
    interval = interval || 2000;
    setTimeout(function(){
    google.script.run.withSuccessHandler(loadSheetName)
        .withFailureHandler(showError).getSheetName();
    poll();
    }, interval);
};

function loadSheetName(sheetName) {
   alert(sheetName);
   }

function getSheetName() {
   google.script.run.withSuccessHandler(loadSheetName)
        .withFailureHandler(showError).getSheetName();
   }
在你的.gs代码中

function getSheetName() {
var sheetName =         SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
return sheetName;
}

您选择的标记不适用于此问题。请查看相关标签,您选择的标签不适用于此问题。请回顾一下,这是非常棒的,给了我一个暗示,我到底在寻找什么。然而它有一些语法错误,因此这里我更正了上面的代码:$function{poll;};函数pollinterval{interval=interval | | 2000;setTimeoutfunction{google.script.run.withSuccessHandlerloadSheetName.WithFailureHandlerBarror.getSheetName;poll;},interval;};函数loadSheetNamesheetName{alertsheetName;}函数阵雨错误{alerterror;}@LJay此代码早在2016年就开始工作了。如果从那以后有变化,请用你的代码附加当前的答案,或者用当前的api调用添加一个单独的答案。这太棒了,给了我一个我到底在寻找什么的提示。然而它有一些语法错误,因此这里我更正了上面的代码:$function{poll;};函数pollinterval{interval=interval | | 2000;setTimeoutfunction{google.script.run.withSuccessHandlerloadSheetName.WithFailureHandlerBarror.getSheetName;poll;},interval;};函数loadSheetNamesheetName{alertsheetName;}函数阵雨错误{alerterror;}@LJay此代码早在2016年就开始工作了。如果此后发生了更改,请将当前答案附加到代码中,或使用当前api调用添加单独的答案