2

範囲と選択はどのように機能しますか?

ページの上部に範囲を介して何かを挿入した場合、それは選択を使用して何かを挿入することによって上書きされますか?選択は範囲に影響しますか?

この順序で挿入を行うと問題が発生しますが、InlineShapesがドキュメントの上部のRange.Insertsの上に表示されます。また、Selection.InsertBeforeはInlineShapesに置き換えられます。

範囲挿入を各画像の上に見出しのように表示したいと思います。これはどのように行うことができますか?

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

私はこのような質問を3回行ったが、返答はなかった。何でも役に立ちます!

編集:

私は一歩近づいています。ここで、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 。

ページの上部に範囲を介して何かを挿入した場合、それは選択を使用して何かを挿入することによって上書きされますか?

かもね。これは、何が選択されているかによって異なります。挿入したコンテンツの範囲と交差するものを選択してコンテンツを変更すると、範囲のコンテンツが変更されます。

これを完全に理解するには、以下について読むことをお勧めします。

選択は範囲に影響しますか?

場合によります。ドキュメントには次のように記載されています。

範囲オブジェクトは選択に依存しません。

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

...したがって、たとえばコンテンツを読んだり、クリップボードにコンテンツをコピーしたりするために単純な選択を行うだけでは、何も変わりません。ただし、選択範囲を使用してコンテンツを変更する場合は、もちろん、範囲が指すコンテンツに影響します。Rangeこれに続いて、MSはドキュメント操作にオブジェクトを使用することを推奨していることに注意してください。

RangeオブジェクトはSelectionオブジェクトと同じメソッドとプロパティの多くを共有するため、現在の選択を物理的に変更する理由がない場合は、Rangeオブジェクトを使用してドキュメントを操作することをお勧めします。

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

そして最後に、あなたは尋ねます:

この順序で挿入を行うと問題が発生しますが、InlineShapesがドキュメントの上部のRange.Insertsの上に表示されます。また、Selection.InsertBeforeはInlineShapesに置き換えられます。

範囲挿入を各画像の上に見出しのように表示したいと思います。これはどのように行うことができますか?

あなたの質問に対する私の以前の答えを参照してください:「単語の相互運用を使用して新しい行に単語ドキュメントにアイテムを一度に1つずつ追加する方法」ここで:https ://stackoverflow.com/a/12751805/700926-それはあなたに完全を与えます答え。

于 2012-10-05T18:44:53.850 に答える