如何不允许编辑,但仍然允许隐藏列/行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何不允许编辑,但仍然允许隐藏列/行相关的知识,希望对你有一定的参考价值。
我有一本有几张纸的工作簿。我还有一个自定义菜单,该菜单旨在使任何用户都能隐藏/显示某些列和行。我不希望任何人(除我以外)都可以编辑工作表。我“保护”工作表,以便只有我具有“编辑”访问权限。显示/隐藏功能非常适合我。
但是,无论何时用户尝试,它都会失败。我需要显示/隐藏功能才能对没有编辑权限的用户起作用。我尝试使用“仅警告”,但是显然,这仍然使他们可以编辑。
关于如何实现此目标的任何想法?
我的代码很简单:
function showPercents()
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
//var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
//for (var j = 0; j < sheets.length ; j++ )
// var sheet = sheets[j];
var sheetname = sheet.getSheetName();
if (sheetname != 'Charts' && sheetname != 'DataIn' && sheetname != 'Config')
var numofcolumns = sheet.getLastColumn();
var i = 3;
while (i < numofcolumns - 1)
sheet.showColumns(i)
sheet.showColumns(i+2)
sheet.showColumns(i+4)
sheet.showColumns(i+5)
sheet.showColumns(i+7)
sheet.showColumns(i+9)
sheet.showColumns(i+10)
i = i + 11
//
function hidePercents()
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
//var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
//for (var j = 0; j < sheets.length ; j++ )
// var sheet = sheets[j];
var sheetname = sheet.getSheetName();
if (sheetname != 'Charts' && sheetname != 'DataIn' && sheetname != 'Config')
var numofcolumns = sheet.getLastColumn();
var i = 3;
while (i < numofcolumns - 1)
sheet.hideColumns(i)
sheet.hideColumns(i+2)
sheet.hideColumns(i+4)
sheet.hideColumns(i+5)
sheet.hideColumns(i+7)
sheet.hideColumns(i+9)
sheet.hideColumns(i+10)
i = i + 11
//
使用所需的任何权限创建第二个工作表,然后从第一个工作表中导入所需的数据。
甚至可以是一个完整的克隆,通过将导入公式放在左上方的单元格中来导入每张工作表,但是您可以仅锁定导入单元格
以这种方式,用户可以显示隐藏或任何内容,而无需保存本地副本,并且您可以锁定第一个(数据输入)电子表格(具有自己的网址),以便他们甚至看不到它。
=IMPORTRANGE("abcd123abcd123", "sheet1!A1:C10")
=IMPORTRANGE("http://docs.google.com/spreadsheets/d/URL/to/spreadsheet/edit" , "A22:E27")
[如果您想完全锁定第一张表,请参阅这些出色的资源,以帮助显示如何设置这些权限
https://www.howtogeek.com/442246/how-to-import-data-from-another-google-sheet/
https://support.google.com/a/users/answer/9308940?hl=en
以上是关于如何不允许编辑,但仍然允许隐藏列/行的主要内容,如果未能解决你的问题,请参考以下文章