问题标签 [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 投票
1 回答
430 浏览

templates - 重新加载时 Word 2010 内容控制损坏

我们在 Word 2010 中构建具有内容控件的模板时遇到问题。这些模板与我们继承的自定义系统结合使用,该系统使用它们来构建报告。

这些模板具有嵌套的内容控件,因此:

IF 用于确定通过 {xpath} 指定的条件是真还是假。如果为真,则使用 THEN 控件中包含的内容。

奇怪的是,构建模板似乎没有问题。当它们被保存时,它们在自定义系统中工作正常。但是,当它们稍后在 Word 2010 中重新打开时,应该出现在 THEN 内容控件中的 {富文本} 被替换为 IF 内容控件中的 {xpath} ,因此:

由于模板与系统一起工作,似乎这种损坏发生在它们被重新加载到 Word 2010 中的时候。因此,我们第一次了解这种损坏似乎是当有人重新加载模板时在数天、数周或数月后进行进一步的更改。到那时,我们可能已经忘记了应该在那里做什么,并失去了很多工作。

谁能解释为什么会发生这种腐败?

我在互联网上寻找答案,但一无所获。

0 投票
2 回答
1899 浏览

c# - 带有许多内容控件的 Word 2010 变得非常缓慢 - 替代方案?

在 C# VSTO 插件项目中,我们将内容控件添加到 Word 文档以跟踪文档结构。我们使用内容控件能够嵌套文档的不同元素。嵌套基本上就像一本书,在不同的层次上有不同的元素:章节、子章节、段落。我们需要保留此结构,以便能够将其导出为特定的 XML 格式,以便针对 XSD 进行验证,从而验证文档的结构。

内容控件一切正常,除非我们必须处理一个大文档,我们需要许多内容控件。我说的是超过 2000 个内容控件,所以我意识到 Word 需要处理的内容很多。在这种情况下,Word 会变得非常慢,例如,一直向下滚动到文档底部需要一段时间,而 Word 会说它正在重新分页并执行拼写检查。有时 Word 甚至会在打开此类文档时崩溃。

我已经尝试从文档中删除撤消信息,因为我在某个地方读到了可能会降低带有非常大文档的 Word 的速度。在那之后文档大小确实缩小了一点,但性能问题仍然存在。我还能做些什么来加快速度,或者当需要这个数量(即 > 500 个内容控件)时,内容控件只是不行吗?

如果内容控件是一个不可行的场景,是否有任何替代方法来跟踪文档的结构?我尝试过使用样式,但是这样会丢失文档各个元素的嵌套信息,因此解析变得更加困难。我还尝试将书签放在每个分组元素的开头,但我注意到在键入时可以删除书签。

欢迎任何想法,提示和技巧。提前致谢!

鲁本。

0 投票
2 回答
2410 浏览

c# - VSTO Word 加载项:内容控制嵌套

我正在为我正在实习的公司构建一个 MS-Word 插件。

我已经创建了一个带有很多SplitButtons和的新功能区Buttons。现在我想做的是,当您单击其中一个按钮时,内容控件将添加到 word doc 中。这适用于普通内容控件。这些内容控件具有诸如“运动/篮球/球员/姓名”之类的标签,这些标签绑定到 XML 文件中的元素。

现在让我们谈谈我的问题。我的一些元素可能会出现不止一次。所以我想要创建的是一个富内容控件,它包含多个纯内容控件。

所以我有一个SplitButton带有“名称”、“球衣号码”、“位置”等按钮的“播放器”……当单击其中一个底层按钮时,我首先检查是否已经存在具有特定名称的富文本控件. 如果不是,我制作一个并向其添加一个纯内容控件。

富内容控件->纯文本控件->富内容控件结束

到目前为止一切顺利,这一切都很好,但是从我想向富内容控件添加另一个普通内容控件的那一刻起,这会弹出:

“不能在其他控件或 XML 元素周围插入纯文本控件”

这是我将纯内容控件添加到丰富内容控件的代码。

0 投票
1 回答
1539 浏览

c# - 在 VSTO for Word 中完全隐藏内容控制

我有一个 Office 2010 项目,我在其中使用内容控件在 Word 文档中隐藏/显示内容(表格、文本块、图像等 - 表格中的内容控件、单元格中的 cc、图像周围的 cc、文本块周围等)。用户可以单击 ActionsPane 控件按钮来隐藏/显示内容。

我的问题是,我想完全隐藏内容控件,但出于某种原因,在某些情况下,将范围设置为 -1/+1 以获取内容控件本身并没有帮助。如果我通过 mouseselection 选择它,它仍会显示在活动文档中。幸运的是没有它的内容。我希望内容控件完全隐藏,以便不再选择或看到它。也在页眉/页脚部分。

我意识到的最奇怪的现象是包含在内容控件中的表格。它被它的文本内容隐藏了,但它留下了一个没有文本内容的新行?

0 投票
1 回答
468 浏览

ms-word - 限制 MS Word 内容控制功能

我有一个 MS Word 文档,该文档有多个内容控件。当用户将整个数据从一个内容控件复制到另一个时,有时它会将内容控件本身与数据一起复制,而当用户粘贴数据时,它会创建嵌套的内容控件。

问题:不知何故,我需要限制 Word 文档,以便用户只能修改数据并且无法创建额外的内容控件。我怎样才能做到这一点。

0 投票
1 回答
705 浏览

c# - Word 2010 富文本内容控件一次选择所有内容

我使用 VSTO (c#) 在 word 文档 2010 中添加了富文本内容控件

该文档受密码保护,每次用户打开文档时,我都会将内容控件的编辑器属性设置为当前用户,这使他只能编辑文档的该部分。

但是,当我打开以前保存的文档并单击内容控件时,我无法编辑内容控件的内容,因为它一次选择了完整的内容,甚至一次击键也会替换完整的内容。

我为此进行了高低搜索,但似乎没有找到可行的解决方案

0 投票
1 回答
567 浏览

c# - 复制来自一个的标签到另一个使用 open xml 2.0

contentControl.Range.WordOpenXml我使用VSTO (C#) 中的属性检索了一个包含单个富文本内容控件内容的 XML 字符串。

根据内容控件中的内容,这包含包含在<pkg:part>标签内的许多标签。<pkg:package>如果内容中有图像,它们将作为字节数组内联包含在不同的<pkg:part>标签中。

如何使用此 XML 将此富文本控件的内容复制到不同 Word 文档中的内容控件。

PS:我正在使用 Open Xml SDK 2.0、C# 和 Word 2010

0 投票
1 回答
2051 浏览

ms-word - MS Word 2007 - 如何设置占位符文本以模仿文本而不是格式化

对于这个特定的问题,我可能会咬得比我能咀嚼的更多,但我会尽量做到具体,以防它在我的范围内。免责声明:除了简单的数据输入/某些格式之外,我对 MS Word 的经验并不丰富,而且我使用宏或 VBasic 的经验绝对为零。不幸的是,我担心我的问题的解决方案将以最后两个之一的形式出现。

目标:

我想要做的是在我的模板文档中使用占位符文本,当它的第一个实例被更改时,它会更改内容但不会格式化。基本上,我正在为软件套件的支持手册编写模板。每个应用程序都有某些相似的功能,例如菜单栏、数据输入屏幕、诊断日志屏幕、交易历史记录等,因此我会预先编写这些部分并在需要插入某些应用程序特定属性时使用占位符。

我开始使用 Insert->Quick Parts->Document Property->Subject 工具,我用它作为应用程序名称的占位符。我将属性设置为 [Subject],然后在整个文档中使用 Insert->Quick Parts->Field->Subject,只要我需要包含应用程序名称。在这种情况下这很好用,因为应用程序名称将始终大写。我只需更改第一个 [Subject] 中的文本(内容受控)并更新整个文档中的字段,它们都很好地匹配,简单易行,工作完成,回家喝啤酒,对吗?

不完全的。

我们的软件通过扫描仪和 SQL Server 处理零件跟踪,因此虽然应用程序中的界面和菜单基本保持不变,但它们跟踪的零件因应用程序而异。因此,当我在手册文本中引用它时,我需要更改部件名称;例如,如果我在 ToiletPap.app 中工作并且我们的 TP 被滚动跟踪,我需要将 [Component] 的每一次提及都更改为滚动。如果我在 LightBulbs.app 中工作,我需要 [Component] 来表示灯泡。

我首先尝试使用 Document Properties 下拉菜单下的 Advanced 选项卡创建一个名为 Component 的自定义文档属性。然后,我围绕我的第一个 [Component] 标题为 Component 创建了一个纯文本内容控件,并使我的下一个 [Component] 成为一个带有修改代码的字段:{COMPONENT * MERGEFORMAT}。这来自复制我在 [主题] 工作时可以找到的内容。这根本不起作用。更新第一个 CC 中的文本不会更改 Content doc 属性,并且我的字段返回“!未定义的书签,组件”。

通过使用最初设置为 [Component] 的 [Comments] 文档属性,我接近了我需要的内容。我就像 [Subject] 一样使用它,但是(这是当我意识到大写将成为一个问题时)当我在文本中提到我的 [component] 时,我经常需要小写而不是大写.

我已经查看了 MS 的论坛和其他一些论坛以及 SO,我找不到任何试图做同样事情的人,更不用说如何回答了。回答时请记住,如果您包含有关如何输入/实施您提供的代码的分步说明,这将对我有很大帮助,因为正如我所提到的,我不知道如何进行编辑MS Word 的宏/VBasic。

重申和总结我的整体问题:如何使用显示文本“[Component]”的占位符,以便当我将 [Component] 的第一个实例更改为其他内容时,说“hopper”,每个后续实例 [ Component] 已更新为 hopper 但仍保持其当前的大小写和格式方案?

对请求的长度表示歉意,但我想确保我尽可能准确地解释了情况。提前感谢您的考虑和回复。

0 投票
1 回答
1913 浏览

ms-word - Office 2013 JavaScript API for Word - 内容控制问题

是否可以将内容控件插入 Word 文档,然后获取内容控件的某种句柄或上下文,然后将 HTML 插入其中?

本质上,我尝试使用 Office JavaScript API 创建的场景是根据用户的请求插入富文本内容控件,然后使用 HTML 填充它。

我可以使用http://social.msdn.microsoft.com/Forums/en-US/appsforoffice/thread/8c4809c7-743c-4388-aef0-bc6a6855c882中建议的方法从 JavaScript API 插入内容控件。它需要 ooxml 的 coercionType。但是,我希望使用 ooxml 填充的内容是基于 HTML 的。因此,当我尝试使用以下 ooxml 插入内容控件时:

插入尝试失败。我假设这是因为在将其插入到带有 ooxml 的 coercionType 的文档中时,您不能混合使用 ooxml 和 html。

由于这种 ooxml 方法是您可以插入内容控件的唯一方法,那么如何使用 HTML 文本设置内容控件?我查看了http://msdn.microsoft.com/en-us/library/fp142295.aspx上的 Document 对象帮助内容,但我不确定我仍然可以这样做,或者是否可行。

谢谢

0 投票
2 回答
3615 浏览

xml - XML/VBA - 更新 Word 文档内容控件值

我正在探索带有 MS Word 的 XML 作为生成具有动态内容的表单的解决方案,但我发现很难完成看似简单的任务。

使用 MSDN 中的示例

http://msdn.microsoft.com/en-us/library/office/gg605188%28v=office.14%29.aspx

假设我打开我的 xml 文档,然后更改<CompanyName>Adventure Works</CompanyName><CompanyName>Gadget Co.</CompanyName>. 如何让 .xml 文档中的更改值反映在我的 Word 文档中?

我努力了:

1) 保存、关闭和重新打开 Word 文档。

2) 再次执行ActiveDocument.CustomXMLParts(4).Load命令。(即使在关闭和打开之后也会引发已加载错误。)

3) 用程序重新映射控件ActiveDocument.ContentControls(#).XMLMapping.SetMapping。(没有错误,但更新内容没有变化。)

似乎大多数 XML 和 Office Suite 文档都面向 .Net 开发。我真的不想为这个解决方案扩展到 .Net,但似乎 VBA 提供的支持要有限得多。

最终,最终输出是一个邮件合并类型的文档,其中包含多个嵌套文档,可以单独解析并保存为 pdf。内容将是动态的,具有可变长度的表格和动态生成的复选框(带有相应的文本内容控件)。在这一点上,我不确定 Word 和 XML 是否可行,并且正在考虑基于 VBA 的 MS Publisher 解决方案。

对此的任何建议都非常感谢。