Path: news.mathworks.com!not-for-mail
From: "Filip T?rnqvist" <filto338@student.liu.se>
Newsgroups: comp.soft-sys.matlab
Subject: Re: excel matlab connection and execution
Date: Wed, 29 Oct 2008 09:39:01 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 45
Message-ID: <ge9avl$8g2$1@fred.mathworks.com>
References: <ge7via$ogo$1@fred.mathworks.com>
Reply-To: "Filip T?rnqvist" <filto338@student.liu.se>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1225273141 8706 172.30.248.38 (29 Oct 2008 09:39:01 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Wed, 29 Oct 2008 09:39:01 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1575758
Xref: news.mathworks.com comp.soft-sys.matlab:497776


Do you mean the windows commandwindow or the matlab one?
If we run the VB code we only get 65535 as the result. Eventhough we do send something else.

Best regards
/Filip and Oskar

"Filip T?rnqvist" <filto338@student.liu.se> wrote in message <ge7via$ogo$1@fred.mathworks.com>...
> Hello!
> 
> We're trying to connect and run matlab from excel using a subroutine(executed via a commandbutton in excel) with the following visualbasic code:
> 
> Sub Exc_to_Mat()
> 
> Dim MatLab As Object
> Dim result As String
> Dim MReal() As Double
> Dim MImag() As Double
>   
> Set MatLab = CreateObject("Matlab.Application")
> 
> Call MatLab.Execute("clear all")
> Call MatLab.Execute("cd C:\My_Docs\Kurser_T\ProduktModellering_TMKT57\Excel_Matlab")
> Call MatLab.Execute("test1([ " & ThisWorkbook.Worksheets("sheet1").Range("C5").Value _
> & " " & ThisWorkbook.Worksheets("sheet1").Range("C6").Value _
> & " " & ThisWorkbook.Worksheets("sheet1").Range("C7").Value & "])")
> Call MatLab.Execute("ans")
> 
> Call MatLab.GetFullMatrix("ans", "base", MReal, MImag)
> 
> ThisWorkbook.Worksheets("sheet1").Range("Stress").Value = MReal
> 
> End Sub
> 
> Running the m-file called test1 which looks like this:
> 
> function Stress= test1(x);
> Radius = x(1);
> Thickness = x(2);
> Pressure = x(3);
> Stress = Pressure*Radius/Thickness;
> 
> This connection will work and run on a computer using the 2006b licens but not a computer using the 2007a what might be the problem? Have we forgotten to add references in excel in order to be able to run these types o files? Or have the possibility to run these types of codes been removed from the 2007 version?
> 
> Best regards 
> /Filip and Oskar