officefileapi-devexpress-dot-xtrarichedit-dot-api-dot-native-dot-nestedshapecollection-dot-addoleobject-x28-system-dot-io-dot-stream-system-dot-string-system-dot-drawing-dot-image-system-dot-drawing-dot-pointf-x29.md
Adds an embedded 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.2.Core.dll
NuGet Package : DevExpress.RichEdit.Core
[Browsable(false)]
NestedShape AddOleObject(
Stream stream,
string progId,
Image presentation,
PointF location
)
<Browsable(False)>
Function AddOleObject(
stream As Stream,
progId As String,
presentation As Image,
location As PointF
) As NestedShape
| Name | Type | Description |
|---|---|---|
| stream | Stream |
A stream that contains data to embed in the document.
| | progId | String |
Embedded content type. You can use constant fields of the OleObjectType class to set this value.
| | presentation | Image |
The image that displays OLE object content.
| | location | PointF |
An object that defines the object’s location (relative to the top left corner of the parent object). The Document.Unit property specifies measurement units.
|
| Type | Description |
|---|---|
| NestedShape |
The OLE object in the group or drawing canvas.
|
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.
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));
Dim document As Document = wordProcessor.Document
' Set measurement unit to inches.
document.Unit = DevExpress.Office.DocumentUnit.Inch
' Insert a shape group.
Dim group As Shape = document.Shapes.InsertGroup(document.Range.Start)
' Access the collection of group items.
Dim groupItems As GroupShapeCollection = group.GroupItems
groupItems = group.GroupItems
' Add the first OLE object to the group.
' This object contains data from an Excel worksheet.
Using excelStream As Stream = File.Open("D:\ExcelWorkbook.xlsx", FileMode.Open)
groupItems.AddOleObject(excelStream, OleObjectType.ExcelWorksheet, _
System.Drawing.Image.FromFile("Images\Spreadsheet.png"), New PointF(0F, 0F))
End Using
' 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