如何在脚本中以编程方式隐藏Google电子表格中的网格线

时间:2012-11-06 12:09:15

标签: google-apps-script google-sheets

是否有一种程序化的方法来控制Google电子表格中的隐藏/取消隐藏网格线或受保护的范围?菜单中有一个选项 - 查看>网格线或受保护的范围来执行此操作。但我想在剧本中这样做。

感谢。

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

我使用命令:

sheet.getRange(1,1,maxrows,maxcolumns).setBorder(true,true,true,true,false,false,"white");

这会改变白色的线条颜色,这与背景相同。然后,网格线被隐藏"。这适合我。

答案 2 :(得分:1)

有点晚了,但是通过在Google Apps脚本中调用V4 API,可以获得一个方便的代码片段。

为此起作用:

  • 您需要在Google云端控制台中为Sheet绑定的Google Apps脚本项目启用Sheets v4 API,您可以从资源 - >云平台项目的脚本编辑器中找到该项目。 ..

  • 您可能还需要启用Sheets V4 API资源 - >高级Google服务...

function test() {
  var spreadsheetId = SpreadsheetApp.getActive().getId();
  var sheetId = SpreadsheetApp.getActiveSheet().getSheetId();
  hideGridlines(spreadsheetId, sheetId, false);
}

/**
 * Hide or show gridlines
 *
 * @param {string} spreadsheetId - The spreadsheet to request.
 * @param {number} sheetId - The ID of the sheet.
 * @param {boolean} hideGridlines - True if the grid shouldn't show gridlines in the UI.
 **/
function hideGridlines(spreadsheetId, sheetId, hideGridlines) {
  var resource = {
    "requests": [
      {
        "updateSheetProperties": {
          "fields": "gridProperties(hideGridlines)",    
          "properties": {
            "sheetId": sheetId,
            "gridProperties": {
              "hideGridlines": hideGridlines
            }
          }
        }
      }
    ],
    "includeSpreadsheetInResponse": false,
    "responseIncludeGridData": false,
  }

  Sheets.Spreadsheets.batchUpdate(resource, spreadsheetId)  
}

答案 3 :(得分:0)

坏消息,我很害怕。我花了一个小时自己寻找相同的答案,我认为没有一个答案!