Passing Matlab's Variable To JavaScript via COM
    6 views (last 30 days)
  
       Show older comments
    
Hello,
I would like to ask a question (Isn't that obvious?).
I have MATLAB as COM-Client and InternetExplorer as COM-Server.
I want to invoke a JavaScript method using variables from MATLAB. To invoke the method, I use the following command. (h is the handle for COM)
h.Document.parentWindow.execScript('JavaScriptFunction(22,22,22);','JavaScript');
I would like to change the number 22 with MATLAB variables. The problem is, the substitution of the 22 with a variable does not work as the variable is between the apostrophes.
I tried using this way to invoke the method.
h.Document.parentWindow.execScript(['''JavaScriptFuntion(' num2str(variableone) ',' num2str(variabletwo) ',' num2str(variablethree)  ')'',''JavaScript''']);
But no luck. Following error occurs:
    ??? Invoke Error, Dispatch Exception:
    Description: Type mismatch.
    Help File: C:\Windows\System32\mshtml.hlp
    Help Context ID: 0
My idea to solve this problem is to pass the variables to JavaScript and then invoke the method using that variables. But, I don't know how.
Any help?
0 Comments
Accepted Answer
  Kaustubha Govind
    
      
 on 25 May 2011
        It seems like the method execScript requires two arguments, but in your second statement, you are effectively passing in only one string. Also, you are concatenating unnecessary apostrophes. What happens when you try:
h.Document.parentWindow.execScript(['JavaScriptFuntion(' num2str(variableone) ',' num2str(variabletwo) ',' num2str(variablethree)  ')'], 'JavaScript');
0 Comments
More Answers (1)
  Wan Nawi
 on 25 May 2011
        1 Comment
  Kaustubha Govind
    
      
 on 26 May 2011
				Yes. In this case, MATLAB is acting like a COM client. The documentation describes handling of COM Data in MATLAB: http://www.mathworks.com/help/techdoc/matlab_external/bq4epvg-1.html
See Also
Categories
				Find more on Use COM Objects in MATLAB in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
