Fab*_*llo 2 google-sheets setvalue google-apps-script
我正在尝试清除单元格的内容,然后设置一个新值。我知道你会问“为什么不设置一个新值而不是先清除单元格?”,但我真的需要那样。这是我所拥有的
var ss = SpreadsheetApp.getActiveSheet();
var new = ss.getRange("G1");
new.clearContent();
new.setValue('|');
Run Code Online (Sandbox Code Playgroud)
问题是清理没有发生,我尝试了很多东西,但没有一个起作用:S。有人知道我做错了什么吗?提前致谢!
您不能使用,new因为它是reserved。使用其他类似的东西cell。此外,使用getActiveSheet()是危险的,因为它要求您实际选择该工作表。因此,如果您想修改“Sheet1”中的某些内容,但您的光标位于“Sheet2”中的单元格上,那么您将得到意想不到的结果。相反,明确指定您要使用的工作表。
function test() {
var ss = SpreadsheetApp.getActive().getSheetByName("SHEET NAME");
var cell = ss.getRange("G1");
cell.clearContent();
cell.setValue('|');
}
Run Code Online (Sandbox Code Playgroud)
为了证明这确实先清除了单元格,您可以SpreadsheetApp.flush()结合使用Utilities.sleep(). 您需要使用,flush()因为“有时将电子表格操作捆绑在一起以提高性能”。调用flush()将确保在继续脚本之前执行所有这些操作。
function test() {
var ss = SpreadsheetApp.getActive().getSheetByName("SHEET NAME");
var cell = ss.getRange("G1");
cell.clearContent();
SpreadsheetApp.flush();
Utilities.sleep(10000); // You have 10 seconds to check that the cell has cleared
cell.setValue('|');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5447 次 |
| 最近记录: |