Google apps script TypeError:无法设置属性';frozenRowCount';未定义的类型(第6行,文件“标题行冻结”)

Google apps script TypeError:无法设置属性';frozenRowCount';未定义的类型(第6行,文件“标题行冻结”),google-apps-script,google-sheets-api,Google Apps Script,Google Sheets Api,基本上,我要做的是:使用frozenRowCount属性冻结工作表的第一行。但当代码执行时,我得到的只是“TypeError:无法设置未定义的属性'frozenRowCount'(第6行,文件“头行冻结”)”。当frozenRowCount属性实例化时,代码就无法到达它。代码如下: function headerFunction() { //Change the sheet's first header var updateSheetPropertiesRequest = Sheets

基本上,我要做的是:使用frozenRowCount属性冻结工作表的第一行。但当代码执行时,我得到的只是“TypeError:无法设置未定义的属性'frozenRowCount'(第6行,文件“头行冻结”)”。当frozenRowCount属性实例化时,代码就无法到达它。代码如下:

function headerFunction() {
  //Change the sheet's first header
   var updateSheetPropertiesRequest = Sheets.newUpdateSheetPropertiesRequest();
  updateSheetPropertiesRequest.properties = Sheets.newSheetProperties();
  updateSheetPropertiesRequest.properties.sheetId.gridProperties.frozenRowCount = 1;
  updateSheetPropertiesRequest.fields = 'gridProperties.frozenRowCount';

  // Set the request   
  var requests = Sheets.newRequest();
  requests.updateSheetProperties = updateSheetPropertiesRequest;

  // Set request to Spreadsheet
  var batchUpdateRequest = Sheets.newBatchUpdateSpreadsheetRequest();
  batchUpdateRequest.requests = requests;

  // Add additional requests (operations)
  var result = Sheets.Spreadsheets.batchUpdate(batchUpdateRequest, spreadsheetId);
}

我相信你的目标如下

  • 您希望冻结Google电子表格中工作表的第一行
  • 您希望通过使用GoogleApps脚本的高级Google服务API来实现这一点
对于这个问题,这个答案如何

修改点:
  • 在脚本中,
    updateSheetPropertiesRequest.properties.sheetId.gridProperties.frozenRowCount=1不正确
    sheetId
    是整数类型。所以请在这里设置工作表ID
  • 要创建
    gridProperties
    的对象,请使用
    newGridProperties()
当上述各点反映到脚本中时,它将变成如下所示

修改脚本: Fom: 致:
  • 请设置
    图纸ID
    。在这种情况下,图纸ID是要反映此请求正文的图纸的图纸ID
注:
  • 在这次修改中,它假设Sheets API已经在高级Google服务中启用
参考资料:

    • 我相信你的目标如下

      • 您希望冻结Google电子表格中工作表的第一行
      • 您希望通过使用GoogleApps脚本的高级Google服务API来实现这一点
      对于这个问题,这个答案如何

      修改点:
      • 在脚本中,
        updateSheetPropertiesRequest.properties.sheetId.gridProperties.frozenRowCount=1不正确
        sheetId
        是整数类型。所以请在这里设置工作表ID
      • 要创建
        gridProperties
        的对象,请使用
        newGridProperties()
      当上述各点反映到脚本中时,它将变成如下所示

      修改脚本: Fom: 致:
      • 请设置
        图纸ID
        。在这种情况下,图纸ID是要反映此请求正文的图纸的图纸ID
      注:
      • 在这次修改中,它假设Sheets API已经在高级Google服务中启用
      参考资料:
      var updateSheetPropertiesRequest = Sheets.newUpdateSheetPropertiesRequest();
      updateSheetPropertiesRequest.properties = Sheets.newSheetProperties();
      updateSheetPropertiesRequest.properties.sheetId.gridProperties.frozenRowCount = 1;
      updateSheetPropertiesRequest.fields = 'gridProperties.frozenRowCount';
      
      var updateSheetPropertiesRequest = Sheets.newUpdateSheetPropertiesRequest();
      updateSheetPropertiesRequest.properties = Sheets.newSheetProperties();
      updateSheetPropertiesRequest.properties.sheetId = sheetId;  // Modified
      var gridProperties = Sheets.newGridProperties();  // Added
      gridProperties.frozenRowCount = 1;  // Added
      updateSheetPropertiesRequest.properties.gridProperties = gridProperties;  // Added
      updateSheetPropertiesRequest.fields = 'gridProperties.frozenRowCount';