2

范围和选择如何工作?

如果您通过范围在页面顶部插入某些内容,是否会通过插入带有选择的内容来覆盖?选择会影响范围吗?

我在按此顺序插入时遇到问题,但 InlineShapes 显示在 Range.Inserts 上方的文档顶部。此外,Selection.InsertBefore 被 InlineShapes 取代。

我希望我的范围插入出现在每张图片上方,就像一个标题。如何才能做到这一点?

Selection.InsertBefore
**Loop**
     Range.InsertParagraphAfter
     Selection.InlineShapes.AddPicture
**End Loop** 

像这样的问题我已经问了三遍了,都没有回应。任何事情都会有帮助!

编辑:

我又近了一步。现在,当我添加我的 InlineShapes 时,我使用 Content.InlineShapes.AddPicture(FileName: x, range: y)。现在图片显示在段落之间,但它们位于我在添加图片之前添加到文档中的表格的第一个单元格中。我添加了带有折叠范围的表格。

4

1 回答 1

9

你写:

I've asked a question like this three times now with no responses. Anything would help!

作为参考,提到的问题(我猜)是:

...现在都已经回答了:)

但是,您在这篇文章中提出了多个问题 - 首先:

范围和选择如何工作?

实际上,文档很好地涵盖了这一点:

一个范围:

"代表文档中的一个连续区域。

每个 Range 对象由开始和结束字符位置定义。类似于在文档中使用书签的方式,Range 对象用于识别文档的特定部分......”

参考: http: //msdn.microsoft.com/en-us/library/microsoft.office.interop.word.range (v=office.14).aspx 。

如果您通过范围在页面顶部插入某些内容,是否会通过插入带有选择的内容来覆盖?

有可能。这取决于选择了什么。如果您选择了与您刚刚插入的内容范围相交的内容并更改了内容,那么您将对范围的内容进行更改。

要完全理解这一点,我建议您阅读以下内容:

选择会影响范围吗?

这取决于。该文档指出:

Range 对象与选择无关。

参考: http: //msdn.microsoft.com/en-us/library/microsoft.office.interop.word.range (v=office.14).aspx

...因此,如果您只是进行简单的选择以例如读取内容或将内容复制到剪贴板,则不会发生任何变化。但是,如果您使用选择来更改内容,这当然会影响范围所指向的内容。接下来,您应该注意 MS 建议使用Range对象进行文档操作:

因为 Range 对象与 Selection 对象共享许多相同的方法和属性,所以当没有理由物理更改当前选择时,最好使用 Range 对象来操作文档。

参考:http: //msdn.microsoft.com/en-us/library/microsoft.office.interop.word.selection.aspx

最后,你问:

我在按此顺序插入时遇到问题,但 InlineShapes 显示在 Range.Inserts 上方的文档顶部。此外,Selection.InsertBefore 被 InlineShapes 取代。

我希望我的范围插入出现在每张图片上方,就像一个标题。如何才能做到这一点?

请参阅我之前对您的问题的回答:“如何使用 word interop 一次将一个项目添加到一个 word 文档的新行”:https ://stackoverflow.com/a/12751805/700926 - 这为您提供了完整的回答。

于 2012-10-05T18:44:53.850 回答