9

是否有编程方式来控制隐藏/取消隐藏 Google 电子表格中的网格线或受保护范围?菜单中有一个选项 - 视图 > 网格线或受保护的范围来执行此操作。但我想在脚本中做到这一点。

谢谢。

4

4 回答 4

9

试试Sheet.setHiddenGridlines(true)。请参阅https://developers.google.com/apps-script/reference/spreadsheet/sheet#setHiddenGridlines(Boolean)

于 2018-04-16T15:09:20.920 回答
2

有点晚了,但这里有一个方便的代码段,通过从 Google Apps 脚本中调用 V4 API 来完成此操作。

为此:

  • 您需要在 Google Cloud Console 中为 Sheet 绑定的 Google Apps 脚本项目启用 Sheets v4 API,您可以在脚本编辑器中从 Resources-> Cloud Platform 项目...

  • 您可能还需要启用 Sheets V4 API Resources->Advanced Google services...

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)  
}
于 2018-02-08T03:34:08.307 回答
1

我使用命令:

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

这会将线条颜色更改为白色,与背景相同。然后,网格线被“隐藏”。这对我有用。

于 2017-01-12T17:13:25.847 回答
0

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

于 2013-02-06T23:45:24.567 回答