问题标签 [word-contentcontrol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
320 浏览

ms-word - document.contentControls 不返回文档中的所有 ContentControls

我有一个包含三个ContentControl对象的文档,如下所示:

文件截图

这是整个.docx 文件- 但基本上文档正文的标记如下所示:

当我运行下面的代码时,只有中间的控件由我的代码返回document.contentControls并因此被我的代码更改。任何想法为什么不返回其他两个控件?有没有其他人遇到过这个问题?有没有办法解决它?

为方便起见,这里有一个ScriptLab 要点

有趣的是,这个 VBA 代码返回了正确的结果 ( 3):

我只在 Windows 10 / Office 365 桌面客户端上试过这个。

0 投票
1 回答
536 浏览

vba - 使用 VBA 在 MS Word 中组合富文本内容控件内容

我正在尝试为 MS Word 中的非技术用户创建一个表单,以在 MS Word 中捕获一些文本内容。这个word doc由几个富文本内容控件组成,用户可以在其中输入或粘贴一些格式化的数据(粗体、下划线、链接等)。

一旦他们将所有内容输入到这些不同的内容控件中,我就会尝试让他们轻松地将它们组合在一起,以一致的顺序粘贴到一些 HTML 形式的播客节目注释中。

所以基本上,我想取三个包含格式化数据的富文本内容控件,将它们组合成一个格式化的内容,然后将其复制到剪贴板,这样他们就可以转到这个 Web 表单,将其粘贴进去,并做一些小的清理工作。问题是,每当我尝试合并 RTF 内容时,它都会丢失格式。

我似乎能够保持格式的唯一方法是复制范围对象然后粘贴它。但是,这不仅仅粘贴格式化的文本。它粘贴整个富文本内容控件。

我尝试在 Word 文档的底部创建一个空白 RTF 字段来组合所有内容,但我就是想不通。我不认为这会是火箭科学。

作为我尝试过的代码都没有工作并保持格式我不确定在这里发布它是否会有任何好处。这是我获取文本对象值的方法:

试过这个:

但这会复制整个 RTF 而不仅仅是文本。

0 投票
0 回答
156 浏览

c# - 如何将内容控件占位符文本字体样式 wrp 更改为文档字体样式

我正在使用 VS c# 开发一个 word 插件。作为要求,我需要在功能区按钮单击时添加内容控件以记录文档。我成功地使用占位符文本添加内容控件。但占位符文本的字体样式始终设置为默认值。我需要根据用户在当前文档上设置的字体样式来修改字体样式。

如何更改内容控件占位符文本的字体样式?

0 投票
1 回答
181 浏览

vba - 如何使用 VBA 将 Microsoft Word 内容控制字段数据写入文本文件?

我有一个看似微不足道的 VBA 任务。但是,我通常不使用 VBA,而且几乎从不在 Microsoft Word 的上下文中使用。我有一个利用内容控制字段(以及一些 ActiveX 单选按钮)的 Word 表单,需要通过将时间戳和完整的表单条目打印到逗号分隔文件来对其进行测试。当我运行以下代码时:

我得到了日期戳,但没有别的。理想情况下,我想最终打印字段标签及其相应的值:

标记 1 值 1 标记 2 值 2 标记 3 值 3 ......

最终,所有这些都会打印到数据库中,但此时我只想能够看到数据是如何从表单中出来的,以及在加载之前我需要如何对其进行转换。任何意见是极大的赞赏。谢谢你。

0 投票
1 回答
218 浏览

vba - VBA:内容控制;图片的文件名

我对 VBA 比较陌生,并试图在几个 Word 文档中自动插入图片。所以在Word文档中我做了一个图片内容控件。我给这个内容控件命名为“insert_pict”。现在在我的宏中,我该如何添加

到目前为止我有这个代码:

但是我在 .SelectContentControlsByTitle("insert_pict")(1).Range.InlineShape.AddPicture (Imagelocation) 行中收到错误“找不到方法或数据成员”。将图片添加到内容控件的正确方法是什么?谁能帮我完成这项工作?非常感谢。

0 投票
1 回答
177 浏览

javascript - Officejs- 使用 xml 映射将 contentcontrol 与 customxmlpart 绑定

我正在使用带有角度框架的 officeJs API 来创建 Word 插件。因为我想插入带有自定义 xml 部分的内容控件,所以可以使用 OfficeJS API 将 customxmlpart 添加到文档中,例如

Office.context.document.customXmlParts.addAsync(xml [, options], 回调);

但我无法使用 officeJs API 中的 xml 映射将内容控件与自定义 xml 部分绑定。是否可以使用 xml 部分或任何其他方式对内容控制进行 xmlmapping?我只想重复内容控件。如果有人知道如何将内容控件与自定义 xml 部分绑定,请提供一些示例。您的帮助将不胜感激。

提前致谢,Pooja。

0 投票
1 回答
730 浏览

vba - 用于获取下拉列表数据的 Word VBA 代码

我正在尝试在 Word 中编写允许我从内容控制下拉列表中获取数据的代码。此数据是从以前保存的 Word 文件中提取的,我在脚本开始时引用了该文件(但此处不显示,因为这不是问题)。

我有这个适用于其他类型的内容控件(下面的示例),但我无法弄清楚这将如何适用于下拉列表。

这是我无效的代码:

代码在 Selection.Text 处失效。我需要修改一些内容以允许代码获取下拉列表中的条目。

下面是来自同一命令的另一个非常相似的代码,它可以工作,但从文本字段返回数据,而不是从 dame 文件中保存的下拉列表中返回数据:

希望有任何帮助修改我的循环代码以获取下拉列表结果。

非常感谢!

0 投票
1 回答
43 浏览

listbox - OfficeJS 从下拉列表内容控件中读取文本

这是我们在内部使用的 Word 模板自动化的一部分。我有一个下拉列表内容控件(在 Developer Tag 下看到),它预先填充了 5 个项目。此下拉列表与文档中的其他富文本内容控件一起放置。

我可以毫无问题地从富文本内容控件中读取值,在 Script Lab 中使用它:

我得到了在 Console.log 中打印的值。皆大欢喜。现在,我为标题为“dropDownContent”的下拉列表内容控件尝试相同的代码,getAllContentControls.items.length 的长度为“0”,因此它永远不会进入该 for 循环。

请问有没有从下拉列表框中读取文本(最终用户将选择)?我已经尝试加载“列表”以及“标签、文本、长度”,但没有成功。

非常感谢

0 投票
2 回答
1951 浏览

vba - 如何使用 VBA 脚本更改 Microsoft Word 内容控件占位符文本格式?

我使用交互式内容控件创建了一个 Microsoft Word 表单。这是一个非常长的表单,包含各种字段和字段类型(下拉列表、文本框、组合框、复选框等......)经过几个月和多次编辑后,它以不一致的格式返回给我字段值和占位符文本值。某些字段即使在您填写后仍显示为灰色。其他字段具有完全不灰显的占位符文本。字体的大小、样式和灰色阴影似乎不一致。我可以在设计模式下编辑占位符文本字体样式和大小,但我无法弄清楚如何确保占位符文本变灰(相同的灰色阴影)并且字段值文本不是。此外,我正在考虑使用 VBA 宏自动化该过程。

可以在这里找到:https ://gregmaxey.com/word_tip_pages/modify_cc_placeholder_text.html 。

是否可以执行类似的操作来应用默认的 Word 内容控件格式(例如占位符文本采用段落默认格式和一定的灰色阴影,直到它被覆盖,此时它不再变灰)?我有近 80 个采用这种形式的内容控件,并希望简化流程而不必从头开始。我将不胜感激任何建议,无论是使用 VBA 脚本还是 Word 对象属性。谢谢你。

编辑:

我创建了一个简单的宏,它遍历我的字段并更改占位符和值的字体,但它不会更改所有默认值。正如我在评论中提到的,当我选择某些内容时,我会通过选择默认情况下与占位符相同的第一个下拉项返回到占位符,格式会再次重置。这是脚本:

我完全不熟悉 Microsoft Word,但我能够创建表单并提取数据。但是,其他人对其进行了如此多的更改(这反过来又弄乱了一些构建格式),因此回滚到我的“干净”版本并重新开始将是很多工作。如果可能的话,我想“修复”现有的表格。我还缺少哪些其他 Word 内容控制字体默认设置?

编辑:

循环浏览日期选择器字段并应用标准格式和占位符文本也很好。出于某种原因,当我包括:

我的日期占位符文本的格式与内容控制值文本的格式相同(在我上面的示例中,它是 wdBlack。)

0 投票
1 回答
64 浏览

c# - 有没有办法从 word 文档中的内容控件中获取内容?

通过利用这个

我得到每个带有标签“CK”的内容控件,在我的例子中它只有一个。如何让内容脱离测试?