Embed Matlab Code into excel

Hello, I'm having trouble in embedding matlab code into excel. The code receives input arguments from a vba function and return the output to the same vba function. I can create the .xla file and the related files but it seems that this method is machine dependent.

For example, if I create a simple function like this:

function q = somma(w,e)
q=w+e;
end

and then I try to create an Excel AddInn through the matlab compiler it fails at the end without creating any installer. But If I use the command:

mcc -W 'excel:somma,Class1,1.0' -T link:lib -b -d D:\Al\MATLAB\somma -v class{Class1:D:\Al\MATLAB\somma.m}

it creates these files:

  • Class1_com.cpp
  • Class1_com.hpp
  • dlldata.c
  • mccExcludedFiles.log
  • mwcomtypes.h
  • mwcomtypes_i.c
  • mwcomtypes_p.c
  • readme.txt
  • requiredMCRProducts.txt
  • somma.bas
  • somma.def
  • somma.rc
  • somma.xla
  • somma_1_0.dll
  • somma_1_0.exp
  • somma_1_0.lib
  • somma_dll.cpp
  • somma_idl.h
  • somma_idl.idl
  • somma_idl.tlb
  • somma_idl_i.c
  • somma_idl_p.c

If I open the .xla or import .bas into my worbook the function works but it's machine dependent. If I try to add the .dll as a COM object into my workbook Excel says that "it is not a valid Office AddInn". If instead I use this command:

mcc -W 'com:somma,Class1,1.0' -T link:lib -d D:\Al\MATLAB\somma -v class{Class1:D:\Al\MATLAB\somma.m}

I get more or less the same files (not the .xla and .bas) but I have the same problem with the .dll.

Is there any way to achieve what I want? Do I have to install the MATLAB runtime? but I would like that the people that will use my Excel file, just needed it and nothing more. Is it possible?

Many thanks

AL

Answers (0)

Categories

Products

Asked:

on 20 Sep 2015

Edited:

on 20 Sep 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!