【问题标题】:Reset Column and Row sizes to default将列和行大小重置为默认值
【发布时间】:2022-01-04 05:29:07
【问题描述】:

我正在构建一个脚本(通过自定义菜单项访问),其中还将包含一些样式。诸如设置背景颜色、更改列宽、行高和插入大量内容之类的事情。

现在我想实现一个“重置”功能:将 所有 单元格设置回默认的空 Google 表格的样子,包括所有内容。我在文档中找到了clear()function,但这只会删除内容,同时保持宽度/高度相同。

问题: 如何将修改后的电子表格(内容、宽度/高度、样式)重置为默认的 Google Sheet 电子表格?

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    现在有了这个功能。

    右键单击该列并选择Resize the column

    然后将宽度设置为默认值 100px。

    【讨论】:

    • 虽然这不能回答所提出的问题(脚本解决方案),但这正是我来这里寻找的东西¯_(ツ)_/¯
    【解决方案2】:

    我认为,这个计划应该可行:

    1. 添加新工作表
    2. 定义默认值:getColumnWidth(columnPosition)getRowHeight(rowPosition)
    3. 删除新工作表
    4. 设置默认值:setColumnWidth(columnPosition, width)setRowHeight(rowPosition, height)

    更多信息请查看Class Sheet documentation

    【讨论】:

    • 我希望对此有更好的功能,但缺乏其他响应似乎表明没有。我将从当前工作表中取出一个现有单元格,以尽量减少奇怪的操作,但由于我从您的回答中得到了这个想法,我会将其标记为已接受:) 谢谢
    【解决方案3】:

    我需要同样的东西,所以这里是代码,基于Max Makhrov的想法:

    let ss = SpreadsheetApp.getActiveSpreadsheet();
    let sheet = ss.getSheets()[0]; // sheet you want to change
    let tempSheet = ss.insertSheet((new Date()).toLocaleTimeString()); // temp sheet
    
    sheet.setColumnWidths(1, sheet.getMaxColumns(), tempSheet.getColumnWidth(1));
    sheet.setRowHeights(1, sheet.getMaxRows(), tempSheet.getRowHeight(1));
    ss.deleteSheet(testSheet);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      相关资源
      最近更新 更多