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

我尝试过将变量移到代码中的不同位置,并尝试自己识别范围--变量,但是有太多的测试,我记不起所有的变化。到目前为止,我已经能够解锁所有的细胞或锁定所有的细胞,而不是特定的范围。
发布于 2022-11-01 19:01:11
您可以尝试下面的代码:
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
https://stackoverflow.com/questions/74278170
复制相似问题