8
私は絵に続くテキスト挿入しようとし、次のコードでは、Wordを自動化するには、Visual C++を使用しています:テキストの前に画像が表示されるのはなぜですか?
// OLEParagraphs is an object of COLEParagraphs
COLEParagraph LastParagraph = OLEParagraphs.get_Last();
COLERange LastParagraphRange = LastParagraph.get_Range();
COLEInlineShapes InlineShapes = LastParagraph.get_InlineShapes();
LastParagraphRange.put_Text(_T(“See picture below:”));
InlineShapes.AddPicture(strPicFileName, COleVariant(0l), COleVariant(1l), DOCX_VARIANT_OPTIONAL);
はしかし、コードを実行した後、私はテキストは常に絵AFTER入れて検索すると、写真より前に、なぜ?私は、これは「自動配置」とは何かですよね
Optional Object. The location where the picture will be placed in the text. If the range isn't collapsed, the picture replaces the range; otherwise, the picture is inserted. If this argument is omitted, the picture is placed automatically.
:
おかげ
これはあなたが使用している非常に曖昧なライブラリです。おめでとう、あなたはDOCX_VARIANT_OPTIONALのGoogleの唯一のヒットです。何かOpenXmlのような臭いがあり、推測が難しい。 interop関数では、ページを基準にして画像を配置するために4つの余分な引数が必要です。ページ、段落ではありません。この図書館について私たちに教えてください。 –
これは、WordがRANGEオブジェクトを定義して動作させる方法と関係があります。使用しているライブラリのCOLLAPSEメソッドを探します。 Rangeに挿入したテキストの最後にRangeを再定義する必要があるため、DirectionパラメータのwdCollapseEndタイプが必要です。 (注:テキストを挿入しようとすると、Rangeを折りたたんでいない場合は、既にRangeに割り当てられているテキストが置換されます)。 –