如何在Google Apps Script中添加并使用Utilities与Math类?
在Google Apps Script中使用Utilities类与Math类
嘿,我刚好熟悉Google Apps Script,来帮你捋清楚这个问题!你遇到的错误主要是因为大小写拼写问题,而且这两个类其实都是全局可用的,根本不需要额外引入~
一、先解决你代码里的直接错误
你写的utilities.sleep(10000);里,utilities是小写的,但Google Apps Script里这个类的正确写法是首字母大写的Utilities——JavaScript是严格区分大小写的,所以小写调用会直接报错。修正后应该是:
Utilities.sleep(10000);
二、关于Utilities类的使用细节
Utilities是Google Apps Script内置的全局工具类,不需要任何引入操作,直接用大写开头的类名调用方法即可。- 给你举几个常用的
Utilities方法示例:- 生成指定长度的随机字符串:
var randomStr = Utilities.getRandomString(8); - 对文本进行Base64编码:
var encodedText = Utilities.base64Encode("我的测试文本"); - 格式化日期:
var formattedDate = Utilities.formatDate(new Date(), "GMT+8", "yyyy-MM-dd HH:mm:ss");
- 生成指定长度的随机字符串:
三、关于Math类的使用细节
Math是JavaScript的原生全局对象,同样不需要引入,直接用大写开头的Math调用方法就行。- 常用的
Math方法示例:- 对数字四舍五入:
var roundedNum = Math.round(4.6); - 生成0到1之间的随机数:
var randomNum = Math.random(); - 取多个数中的最大值:
var maxVal = Math.max(12, 45, 7, 33);
- 对数字四舍五入:
修正后的完整测试代码(补充了你没写完的部分)
function myTest() { var name = (new Date()).toLocaleDateString(); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sht_0 = ss.getActiveSheet(); var sht_1 = ss.insertSheet(name); SpreadsheetApp.setActiveSheet(sht_0); // 修正后的sleep调用 Utilities.sleep(10000); // 示例:给当前工作表A1单元格设置值 var rng = sht_0.getRange("A1"); rng.setValue("等待10秒后完成测试"); }
小提醒
Google Apps Script里的核心服务类(比如SpreadsheetApp、DriveApp、Utilities)都是全局暴露的,不用像Node.js那样写require或者import,只要记住类名的正确大小写,直接调用就好啦~
内容的提问来源于stack exchange,提问作者MrQNet




