You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在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里的核心服务类(比如SpreadsheetAppDriveAppUtilities)都是全局暴露的,不用像Node.js那样写require或者import,只要记住类名的正确大小写,直接调用就好啦~

内容的提问来源于stack exchange,提问作者MrQNet

火山引擎 最新活动