Skip to main content
All docs
V25.1
  • DevExpress v25.1 Update — Your Feedback Matters

    Our What's New in v25.1 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

    Take the survey Not interested

    NestedShapeCollection.AddOleObject(String, String, Image, RectangleF) Method

    Adds a linked OLE object to a shape group or a drawing canvas. The object is displayed in the document as an image.

    Namespace: DevExpress.XtraRichEdit.API.Native

    Assembly: DevExpress.RichEdit.v25.1.Core.dll

    NuGet Package: DevExpress.RichEdit.Core

    #Declaration

    [Browsable(false)]
    NestedShape AddOleObject(
        string fileName,
        string progId,
        Image presentation,
        RectangleF bounds
    )

    #Parameters

    Name Type Description
    fileName String

    A path to the file associated with the OLE object.

    progId String

    The file type. You can use constant fields of the OleObjectType class to set this value.

    presentation Image

    The image that displays OLE object content.

    bounds RectangleF

    An object that defines the object’s size and location (relative to the top left corner of the parent object). The Document.Unit property specifies measurement units.

    #Returns

    Type Description
    NestedShape

    The OLE object in the group or drawing canvas.

    #Remarks

    The example below shows how to group two OLE objects. Use the ShapeCollection.InsertGroup method to create a shape group. The Shape.GroupItems property returns a collection of group elements. Call the AddOleObject methods to add OLE objects to the group.

    Group OLE Objects

    Document document = wordProcessor.Document;
    // Set measurement unit to inches.
    document.Unit = DevExpress.Office.DocumentUnit.Inch;
    // Insert a shape group.
    Shape group = document.Shapes.InsertGroup(document.Range.Start);
    // Access the collection of group items. 
    var groupItems = group.GroupItems;
    // Add the first OLE object to the group.
    // This object contains data from an Excel worksheet.
    using (Stream excelStream = File.Open(@"D:\ExcelWorkbook.xlsx", FileMode.Open))
    {
        groupItems.AddOleObject(excelStream, OleObjectType.ExcelWorksheet,
            System.Drawing.Image.FromFile(@"Images\Spreadsheet.png"), new PointF(0f, 0f));
    }
    // Add the second OLE object to the group.
    // The object links to an Excel chart sheet.
    groupItems.AddOleObject(@"D:\ExcelChart.xlsx", OleObjectType.ExcelChart,
        System.Drawing.Image.FromFile(@"Images\ExcelChart.png"), new RectangleF(0.5f, 1.2f, 5f, 3.5f));
    
    See Also