2.4.713 BrtOleObject

The BrtOleObject record specifies an embedded object.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

dwAspect

dwOleUpdate

shapeId

A

B

reserved

strProgID (variable)

...

link (variable)

...

strRelID (variable)

...

dwAspect (4 bytes): An unsigned integer that specifies how the object is represented when drawing or getting data. This value MUST be a value from the following table.

Name

Value

Meaning

DVASPECT_CONTENT

0x00000001

Provides a representation of an embedded object's content.

DVASPECT_ICON

0x00000004

Provides an iconic representation of an embedded object.

dwOleUpdate (4 bytes): An unsigned integer that specifies when to update the embedded object's cached data. This value MUST be 0 if fLinked is 0; otherwise, MUST be a value from the following table.

Name

Value

Meaning

OLEUPDATE_ALWAYS

0x00000001

Update the embedded object whenever possible.

OLEUPDATE_ONCALL

0x00000003

Update the embedded object only upon user request.

shapeId (4 bytes): An unsigned integer that corresponds to the spid attribute, as specified in [ISO/IEC29500-4:2016], section 19.1.2.19, of a shape element in the VML Drawings (section 2.1.7.59) part. This value MUST be greater than or equal to 0x00000001 and less than or equal to 0x03FFD7FF. The value of the ObjectType attribute of the ClientData child element, as specified in [ISO/IEC29500-4:2016], section 19.4.2.12, of the shape element MUST be "Pict" as specified in [ISO/IEC29500-4:2016], section 19.4.3.2. The total number of unique identifiers specified by shapeId and BrtActiveX.shapeId in a worksheet, macro sheet or dialog sheet MUST NOT exceed 65535.

A - fLinked (1 bit): A bit that specifies whether this embedded object is linked.

B - fAutoLoad (1 bit): A bit that specifies whether the host application for the embedded object is called to load the object data automatically when the workbook is opened.

reserved (14 bits):  This value MUST be 0, and MUST be ignored.

strProgID (variable): An XLWideString (section 2.5.169) that specifies a programmatic identifier associated with this object. This string MUST comply with the following requirements:

  • The string MUST have no more than 39 characters.

  • The string MUST contain no punctuation (including underscores) except periods.

  • The string MUST contain one or more periods.

  • The string MUST NOT start with a digit.

  • The string MUST be different from the class name of any OLE1 application, including the OLE1 version of the same application, if there is one.

link (variable): An ObjectParsedFormula (section 2.5.98.13) that specifies the formula (section 2.2.2) that specifies where the data for this linked object can be found. This value MUST exist if and only if fLinked is nonzero.

strRelID (variable): A RelID (section 2.5.115) that specifies a relationship targeting an OLE Object (section 2.1.7.36) or an OLE Package (section 2.1.7.37) containing data for this object. This value MUST exist if and only if fLinked is 0.