Skip to main content
All docs
V24.2

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 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

SubDocument.GetFlatOpcMacroEnabledBytes(DocumentRange) Method

Exports the range content in FlatOpcMacroEnabled (Microsoft Word XML Macro-Enabled Document, .xml) format and returns a byte array with this content.

Namespace: DevExpress.XtraRichEdit.API.Native

Assembly: DevExpress.RichEdit.v24.2.Core.dll

NuGet Package: DevExpress.RichEdit.Core

#Declaration

byte[] GetFlatOpcMacroEnabledBytes(
    DocumentRange range
)

#Parameters

Name Type Description
range DocumentRange

The range to convert to FlatOpcMacroEnabled format.

#Returns

Type Description
Byte[]

The range content in FlatOpcMacroEnabled format.

#Remarks

If you work with a selection range, make sure that the GetFlatOpcMacroEnabledBytes method is enclosed with the DocumentRange.BeginUpdateDocument - DocumentRange.EndUpdateDocument method pair. Otherwise, an incorrect document model might be selected, and the “Error: specified document position or range belongs to other document or subdocument” exception is thrown.

To retrieve section settings, make sure that the range contains the last section’s paragraph. Otherwise, the section settings are reset to default.

The code sample below retrieves the range content in FlatOpcMacroEnabled format:

using (RichEditDocumentServer wordProcessor = new RichEditDocumentServer())
{
    wordProcessor.LoadDocument("FirstLook.docx");
    Document document = wordProcessor.Document;

    byte[] bytes = document.GetFlatOpcMacroEnabledBytes(document.Range);
    File.WriteAllBytes(@"D:\testdoc.xml", bytes);
}
See Also