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.
actxserver |
Create COM server |
actxcontrol |
Create Microsoft ActiveX control in figure window |
actxcontrollist |
List currently installed Microsoft ActiveX controls |
actxcontrolselect |
Create Microsoft ActiveX control from UI |
actxGetRunningServer |
Handle to running instance of Automation server |
iscom |
Determine whether input is COM or ActiveX object |
isprop |
Determine whether input is COM object property |
get |
Get property value from interface, or display properties |
set |
Set object or interface property to specified value |
addproperty |
Add custom property to COM object |
deleteproperty |
Remove custom property from COM object |
inspect |
Open Property Inspector |
propedit |
Open built-in property page for control |
fieldnames |
Field names of structure, or public fields of COM or Java object |
ismethod |
Determine whether input is COM object method |
methods |
Class method names |
methodsview |
View class methods |
invoke |
Invoke method on COM object or interface, or display methods |
isevent |
Determine whether input is COM object event |
events |
List of events COM object can trigger |
eventlisteners |
List event handler functions associated with COM object events |
registerevent |
Associate event handler for COM object event at run time |
unregisterallevents |
Unregister all event handlers associated with COM object events at run time |
unregisterevent |
Unregister event handler associated with COM object event at run time |
isinterface |
Determine whether input is COM interface |
interfaces |
List custom interfaces exposed by COM server object |
release |
Release COM interface |
Write Data to Excel Spreadsheet Using ActiveX
This example shows how to write a MATLAB matrix to an Excel® spreadsheet.
Read Spreadsheet Data Using Excel as Automation Server
For alternatives to importing Excel spreadsheet data into MATLAB, see the functions and examples in Spreadsheets.
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.
Learn about a COM object using MATLAB commands
MATLAB Sample ActiveX Control mwsamp
MATLAB includes an example COM control that draws a circle on the screen, displays some text, and fires events when the user single- or double-clicks the control.
Redraw Circle in mwsamp Control
This example shows how to call a method of
the mwsamp
control to redraw a circle.
Display Event Messages from mwsamp Control
This example shows how to handle events fired
by the MATLAB ActiveX control, mwsamp2
.
Add Position Property to mwsamp Control
This example shows how to add a custom property, Position
to
the mwsamp
control.
Combine Event Handlers as MATLAB Local Functions
This example shows how to consolidate event handlers into a single file using local functions.
This example shows how to restore original mwsamp2
control
settings.
Deploy ActiveX Controls Requiring Run-Time Licenses
When you deploy a Microsoft ActiveX control that requires a run-time license, include a license key, which the control reads at run time.
Use Internet Explorer in MATLAB Figure
This example uses the ActiveX control Shell.Explorer
,
which is exposed by the Microsoft Internet Explorer® application,
to include an HTML viewer in a MATLAB figure.
COM concepts and an overview of COM support in MATLAB software
Examples that show how to use COM interface with MATLAB software
Registering Controls and Servers
Before using COM objects, you must register their controls and servers.
How to create Microsoft ActiveX controls and COM server objects
Pass data to and handle data from a COM object
List property names and set values, work with multiple objects and properties, use the Property Inspector, use enumerated values and custom properties
You execute, or invoke, COM functions or methods belonging to COM objects.
Respond to events, write event handlers
For controls, register handler functions either at the time
you create an instance of the control (using actxcontrol
),
or any time afterward (using registerevent
).
Use these MATLAB functions to save and restore the state of a COM control object.
Use IUnknown, IDispatch, and custom interfaces
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 software
Microsoft Forms 2.0 controls are designed for use with applications enabled by Microsoft Visual Basic® for Applications (VBA).
MATLAB Application as DCOM Client
Distributed Component Object Model (DCOM) is a protocol that allows clients to use remote COM objects over a network.
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.