COM Objects in MATLAB

Access COM components from MATLAB®

The Microsoft® Component Object Model (COM) provides a framework for integrating reusable, binary software components into an application. Because components are implemented with compiled code, the source code can be written in programming languages that support COM. Upgrades to applications are simplified, as components can simply be swapped without the need to recompile the entire application. In addition, a component's location is transparent to the application, so components can be relocated to a separate process or even a remote system without having to modify the application.

Alternatively, consider using the Microsoft .NET Framework.

MATLAB supports COM and the .NET Framework integration on the Microsoft Windows® platform only.

Functions

actxserverCreate COM server
actxGetRunningServerHandle to running instance of Automation server
methodsviewView class methods
eventlistenersList event handler functions associated with COM object events
registereventAssociate event handler for COM object event at run time
unregisteralleventsUnregister all event handlers associated with COM object events
unregistereventUnregister event handler associated with COM object event at run time
iscomDetermine whether input is COM object
iseventDetermine whether input is COM object event
isinterfaceDetermine whether input is COM interface

Objects

COMAccess COM components from MATLAB

Examples and How To

Microsoft Office

Write Data to Excel Spreadsheet

This example shows how to write a MATLAB matrix to an Excel® spreadsheet.

Read Spreadsheet Data Using Excel as Automation Server

This example shows how to use a COM Automation server to access another application from MATLAB.

Change Cursor in Spreadsheet

This example shows how to change the cursor icon in an Excel® spreadsheet.

Change Row Height in Range of Spreadsheet Cells

This example shows how to change the height of a row, defined by a Range object, in a spreadsheet.

Insert Spreadsheet After First Sheet

This example shows how to skip an optional input argument in the Excel Add method, used to insert a sheet into a workbook.

Connect to Existing Excel Application

This example shows how to read data from an open file, weekly_log.xlsx, in MATLAB.

Display Message for Workbook OnClose Event

This example shows how to handle a COM interface event, how to set up an event in a Microsoft Excel workbook object, and how to handle its BeforeClose event.

Explore COM Objects

Learn about a COM object using MATLAB commands

Concepts

MATLAB COM Integration

COM concepts and an overview of COM support in MATLAB.

Get Started with COM

Examples that show how to use COM interface with MATLAB.

Register Servers

Before using COM objects, you must register their servers.

Create COM Objects

How to create Microsoft controls and COM server objects

Handle COM Data in MATLAB

Pass data to and handle data from a COM object

COM Object Properties

List property names and set values, work with multiple objects and properties, use the Property Inspector, use enumerated values and custom properties

COM Methods

You execute, or invoke, COM functions or methods belonging to COM objects.

COM Events

Respond to events, write event handlers

COM Event Handlers

Use registerevent to register server events.

Save and Delete COM Objects

Use these MATLAB functions to save and restore the state of a COM control object.

COM Object Interfaces

Use COM interfaces

COM Collections

COM collections are a way to support groups of related COM objects that can be iterated over.

Supported Client/Server Configurations

COM client-server configurations in MATLAB.

MATLAB Application as DCOM Client

Distributed Component Object Model (DCOM) is a protocol that allows clients to use remote COM objects over a network.

Troubleshooting

MATLAB COM Support Limitations

Microsoft does not support loading 32-bit DLLs or in-process COM servers into a 64-bit application, or conversely.

Interpreting Argument Callouts in COM Error Messages

When a MATLAB client sends a command with an invalid argument to a COM server application, the server sends back an error message in the following format.