【发布时间】:2015-02-24 11:27:53
【问题描述】:
我正在尝试使用 Word Interop 尝试将 Word 文档中的 TAG 替换为另一个文档的内容。
例如,我必须处理具有#TAG#123456789# 之类标签的example.doc,然后我必须复制123456789.doc 并将内容粘贴到example.doc 中替换标签#TAG#123456789#
文档123456789.doc 有它的表格、图像等等。
到目前为止,我可以在 example.doc 中找到标签并获取 123456789.doc,但除了文本替换之外,我没有找到任何可行的方法。
我正在考虑一种新方法,通过使用以下范围附加部分文档来生成新文档:
- 将
example.doc从开头附加到 TAG 的开头。 - 追加
123456789.doc - 将标签末尾的
example.doc的其余部分附加到文档的末尾。
【问题讨论】:
-
我在文档 1 中定义了一个范围。
Microsoft.Office.Interop.Word.Range rng = document.Range(ref docStart, ref docEnd);我选择并复制整个第二个文档:object start = SubDoc.Content.Start; object end = SubDoc.Content.End; SubDoc.Range(ref start, ref end).Copy();我复制了范围 1 中的内容:rng.Paste();并保存文档:document.Save();但是,我无法复制图像,我该怎么办?很抱歉回答,但无法在评论中添加返回行... -
如果我在粘贴“Microsoft.Office.Interop.Word.Range rng = document.Range(ref docStart, ref docEnd); 时将目标范围设置为文档的结尾
object docStart = document.Content.End - 1; object docEnd = document.Content.End;rng.Paste();´ 它粘贴所有包括图像。如果我选择范围来替换单词 ej:object docStart = document.Content.Words[i - 8].Start; object docEnd = document.Content.Words[i].End;当我做同样的粘贴时,它只会粘贴第一个单词。