gpt4 book ai didi

c# - Formfields.BookMarks.get_Item().Checkbox.Value 不起作用(自动化词)

转载 作者:行者123 更新时间:2023-11-30 13:03:04 24 4
gpt4 key购买 nike

我试图通过 C# 中的自动化更改单词复选框(从开发人员选项卡)的值,但没有成功。我尝试了不同的方法,但我在互联网上搜索时总能找到的唯一方法是:

在开发者模式下,通过点击复选框的属性找到复选框的名称

object oCheckbox = "Checkbox_name"

document_name.FormFields.get_Item(ref oCheckbox).CheckBox.Value = true/false;

但是每当我执行代码时,我都会收到以下错误(集合的请求成员不存在),这意味着如果我理解正确的话,我的文档中没有名为“Checkbox_name”的复选框。

我还尝试用相同的名称为复选框添加书签并执行:

document_name.BookMarks.get_Item(ref oCheckbox).CheckBox.Value 但它也不起作用...

最佳答案

如果您通过单击开发人员选项卡中显示的复选框插入了一个复选框,那么我假设您使用的是 Word 2007 或更高版本。

而且,如果是这种情况,那么您插入的不是表单域,而是内容控件。因此,如果您在 VBA 编辑器的即时窗口中输入以下内容:

?ActiveDocument.Content.FormFields.Count

...它将打印“0”。而如果您尝试:

?ActiveDocument.Content.ContentControls.Count

...它应该打印一些大于零的数字,具体取决于您插入的数量。

要插入旧式表单字段复选框,请单击复选框图标旁边的带工具的文件夹图标 - 这将下拉更多类型的控件,包括“旧式表单”和“ActiveX 控件”。每个组中都有一个复选框,但它是第一组(“Legacy Forms”),它将创建显示在 FormFields 集合中的复选框。

我建议尽可能使用内容控件,因为可能不会永远支持旧式表单字段。

关于c# - Formfields.BookMarks.get_Item().Checkbox.Value 不起作用(自动化词),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13740807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com