Ich bin mit Visual C++ Word zu automatisieren, in dem folgenden Code Ich versuche, Text von einem Bild gefolgt einzufügen:Warum erscheint mein Bild vor dem Text?
// 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);
jedoch nach der Ausführung des Codes, finde ich den Text immer nach dem Bild gesetzt wird, nicht vor dem Bild, warum?
Dank
Das ist eine * sehr * obskure Bibliothek, die Sie verwenden. Herzlichen Glückwunsch, Sie sind der einzige Google-Treffer für DOCX_VARIANT_OPTIONAL. Riecht wie etwas OpenXml-basiert, schwer zu erraten. Die Interop-Funktion benötigt 4 zusätzliche Argumente, um das Bild relativ zur Seite zu platzieren. Seite, nicht Absatz. Erleuchte uns über diese Bibliothek. –
Dies hat damit zu tun, wie Word ein RANGE-Objekt definiert und damit arbeitet. Suchen Sie in der von Ihnen verwendeten Bibliothek nach der COLLAPSE-Methode. Sie möchten den Typ wdCollapseEnd für den Parameter Direction, aber Sie müssen den Bereich neu definieren, der am Ende des Textes liegt, den Sie in den Bereich eingefügt haben. (Hinweis: Wenn Sie versuchen würden, mehr Text einzufügen, würde der Text, den Sie bereits dem Bereich zugewiesen haben, ERSETZEN, wenn Sie den Bereich nicht zuerst reduziert haben.) –