You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Script移动新建文件到指定文件夹时moveTo报参数不匹配错误

错误原因

  • moveTo方法的参数类型传错了:你用DriveApp.getFileById()获取目标路径,返回的是文件对象,但是moveTo要求传入的是文件夹对象,参数类型不匹配就触发了签名错误。你把目标文件夹的ID传给了获取文件的方法,自然拿不到符合要求的参数类型。

修正后代码

function NewSheets() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var ss1 = ss.getSheetByName('URL');
  // 获取目标文件夹对象,移出循环避免重复调用API提升运行效率
  var targetFolder = DriveApp.getFolderById('1W5LeSrijdfFvgqZQfKEhrK7YOziHL322');

  for(var i = 1; i < ss1.getLastRow(); i++){
    var s1 = ss1.getRange(i + 1, 6).getValue();
    var newSS = SpreadsheetApp.create('STSOR - ' + s1);
    var newFileId = newSS.getId();
    DriveApp.getFileById(newFileId).moveTo(targetFolder);
    ss.getSheetByName(s1).copyTo(newSS).setName('STSOR - ' + s1);
    ss1.getRange(i + 1, 2).setValue(newFileId);
  }
}

可选优化点

  • 循环变量i补充声明,避免成为全局变量引发意料之外的异常
  • 每行代码末尾补充分号,避免语法解析出现歧义
  • 批量操作数据量较大时,可以先把工作表数据批量读取到内存处理,减少读写API调用次数,进一步提升运行效率

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:27:02