【发布时间】:2020-06-18 15:06:47
【问题描述】:
我正在尝试在 MS Word 中为非技术用户创建一个表单,以在 MS Word 中捕获一些文本内容。这个word doc由几个富文本内容控件组成,用户可以在其中输入或粘贴一些格式化的数据(粗体、下划线、链接等)。
一旦他们将所有内容输入到这些不同的内容控件中,我会尝试让他们轻松地将它们组合在一起,以一致的顺序粘贴到一些 HTML 形式的播客节目笔记中。
所以基本上,我想取三个包含格式化数据的富文本内容控件,将它们组合成一个格式化的内容,然后将其复制到剪贴板,这样他们就可以转到这个 Web 表单,粘贴它在,并做一些小的清理。问题是,每当我尝试合并 RTF 内容时,它都会丢失格式。
我似乎能够保持格式的唯一方法是复制范围对象然后粘贴它。但是,这不仅仅粘贴格式化的文本。它粘贴整个富文本内容控件。
我尝试在 Word 文档的底部创建一个空白 RTF 字段来合并所有内容,但我就是想不通。我不认为这会是火箭科学。
由于我尝试过的代码都不起作用并保持格式,我不确定将其发布在这里是否有任何好处。这是我获取文本对象值的方法:
ActiveDocument.SelectContentControlsByTitle("txtShowNotes").Item(1).Range.Text
试过这个:
ActiveDocument.SelectContentControlsByTitle("txtShowNotes").Item(1).Range.Copy
ActiveDocument.SelectContentControlsByTitle("txtCombinedContentSection").Item(1).Range.Paste
但这会复制整个 RTF 而不仅仅是文本。
【问题讨论】:
-
由于您的最终目标是HTML,如果您放弃Word而只使用HTML,您的过程会简单得多。他们粘贴什么样的内容?如果它是网络来源的,它们已经有一个 HTML 输入。
-
问题是这个词 doc 被几个人传递和完成,它需要为后代存储,所以试图适应他们的正常流程。他们也没有资金去做更棒的事情。
-
由于您是该网站的新手:在 Stack Overflow 上“感谢”回答您问题的贡献的正确/习惯方式是单击该贡献左侧的复选标记。这会奖励个人站点积分(“声誉”)并告诉其他人贡献是有用的 - 它在列表中显示不同。此外,cmets 会被删除,因此稍后在寻找有关同一问题的信息的其他人可能看不到下面写“谢谢”。
标签: vba ms-word word-contentcontrol