Office js 如何使用office js读取Excel单元格的验证?

Office js 如何使用office js读取Excel单元格的验证?,office-js,Office Js,如何使用office js阅读已经实现的数据验证,我已经阅读了页面,新的api在测试版中可用,现在我正在尝试如何在excel中实现此验证?有关数据验证api的文档可在中找到 此外,还有一个脚本实验室片段,其中包含Excel中数据验证的多个示例。只需安装ScriptLab附加模块free:,然后在Excel中打开ScriptLab代码窗口,在导航菜单中选择Samples,然后选择位于示例列表底部附近的Preview API标题下的数据验证示例 打开代码段后,您可以在“代码”窗格中查看代码以查看数据

如何使用office js阅读已经实现的数据验证,我已经阅读了页面,新的api在测试版中可用,现在我正在尝试如何在excel中实现此验证?

有关数据验证api的文档可在中找到

此外,还有一个脚本实验室片段,其中包含Excel中数据验证的多个示例。只需安装ScriptLab附加模块free:,然后在Excel中打开ScriptLab代码窗口,在导航菜单中选择Samples,然后选择位于示例列表底部附近的Preview API标题下的数据验证示例

打开代码段后,您可以在“代码”窗格中查看代码以查看数据验证的示例,并使用“运行”窗格测试/运行代码段以查看正在进行的数据验证。例如,代码段中的以下函数添加了需要正数的验证规则:

async function addPositiveNumberRequirement() {
    await Excel.run(async (context) => {
        const sheet = context.workbook.worksheets.getActiveWorksheet();
        const rankingRange = sheet.tables.getItem("NameOptionsTable").columns.getItem("Ranking").getDataBodyRange();

        // When you are developing, it is a good practice to
        // clear the dataValidation object with each run of your code.
        rankingRange.dataValidation.clear();

        let greaterThanZeroRule = {
            wholeNumber: {
                formula1: 0,
                operator: Excel.DataValidationOperator.greaterThan
            }
        };
        rankingRange.dataValidation.rule = greaterThanZeroRule;

        rankingRange.dataValidation.prompt = {
            message: "Please enter a positive number.",
            showPrompt: true,
            title: "Positive numbers only."
        };

        rankingRange.dataValidation.errorAlert = {
            message: "Sorry, only positive numbers are allowed",
            showAlert: true,
            style: "Stop",
            title: "Negative Number Entered"
        };

        await context.sync();
    });
}

谢谢你的回答。我已经尝试了样本数据。但我试图阅读office.js中的验证,这意味着如果我通过允许的脚本输入了错误的值,我如何克服这一问题?@mkHun数据验证只验证用户输入,不验证编程输入,因此如果您使用office js或VBA或任何其他编程方式设置值或公式,然后,它将允许您设置它们,而不考虑数据验证。@PhilipRueker-感谢您对此的澄清。是否可以通过编程方式使用Office.js API确定给定范围内有效的数据验证规则(如有),以便开发人员能够主动避免将违反数据验证规则的数据写入工作表?@KimBrandl目前没有,但这是我们的功能待办事项,可能会添加到我们的下一个功能浪潮中。