Tôi đang sử dụng Visual C++ để tự động Word, trong đoạn mã sau tôi cố gắng để chèn văn bản theo sau là một bức tranh:Tại sao ảnh của tôi xuất hiện trước văn bản?
// 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);
Tuy nhiên, sau khi thực hiện mã, tôi thấy văn bản được luôn đặt SAU bức tranh, không TRƯỚC KHI hình ảnh, tại sao?
Cảm ơn
Đó là thư viện * rất * tối nghĩa mà bạn đang sử dụng. Xin chúc mừng, bạn là lần truy cập Google duy nhất cho DOCX_VARIANT_OPTIONAL. Mùi giống như một cái gì đó dựa trên OpenXml, khó đoán. Chức năng interop yêu cầu 4 đối số phụ để đặt hình ảnh liên quan đến trang. Trang, không phải đoạn văn. Hãy khai sáng cho chúng tôi về thư viện này. –
Điều này liên quan đến cách Word định nghĩa và làm việc với đối tượng RANGE. Tìm phương pháp COLLAPSE trong thư viện bạn đang sử dụng. Bạn muốn loại wdCollapseEnd cho tham số Direction becaûse bạn cần phải xác định lại Range ở cuối văn bản mà bạn đã chèn vào Range. (Lưu ý: nếu bạn muốn chèn thêm văn bản, nó sẽ THAY THẾ lại văn bản bạn đã gán cho Phạm vi nếu bạn không thu gọn Phạm vi, trước tiên.) –