首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Office脚本锁定和保护选定的单元格

通过Office脚本锁定和保护选定的单元格
EN

Stack Overflow用户
提问于 2022-11-01 15:26:24
回答 1查看 58关注 0票数 0

我正在尝试编写一个Office脚本代码来处理电源自动流。代码将解除对文档的保护,锁定一系列未锁定的单元格(由电源自动流确定),然后重新保护文档。到目前为止,我已经知道了如何编写工作代码来保护文档,锁定所有单元格(变量没有通过),并重新保护文档。如何将变量范围拉出,以便只锁定电源自动流中选定的行?

我尝试过将变量移到代码中的不同位置,并尝试自己识别范围--变量,但是有太多的测试,我记不起所有的变化。到目前为止,我已经能够解锁所有的细胞或锁定所有的细胞,而不是特定的范围。

EN

回答 1

Stack Overflow用户

发布于 2022-11-01 19:01:11

您可以尝试下面的代码:

代码语言:javascript
复制
function main(workbook: ExcelScript.Workbook) {
  let ws = workbook.getActiveWorksheet()
  
  if (ws.getProtection().getProtected()) {
    ws.getProtection().unprotect("password")
  }

  ws.getRange().getFormat().getProtection().setLocked(false)
  workbook.getSelectedRange().getFormat().getProtection().setLocked(true)
  ws.getProtection().protect({selectionMode:ExcelScript.ProtectionSelectionMode.unlocked},"password")
}

默认情况下,工作表中的单元格将被设置为锁定。所以,如果你锁上床单,他们就会受到保护。所以你必须从打开工作表中的所有单元开始。

可以使用Workbook.getSelectedRange()确定所选范围。通常不建议在代码中选择范围。因此,我想看看是否有其他方法可以从PowerAutomate动态地确定范围。但如果你做不到,那也没关系。

从这里开始,您必须在选项中传递selectionMode参数。并将选项设置为ExcelScript.ProtectionSelectionMode.unlocked

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74278170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档