Bra*_*sen 6 javascript com matlab typescript
我试图按照MathWorks网站上的建议,使用COM自动化服务器在Matlab和Javascript(在我的情况下为打字稿)程序之间建立连接。网站上的文档提供了一些由MS创建的语言示例,而不是针对javascript的示例。
我似乎找不到很多有关如何用JS建立这样的COM连接的信息。据我了解,这是一项仅用于Internet Explorer的旧Microsoft功能。
问题
我正在编写的程序是VS Code扩展,因此我根本没有使用Internet Explorer。结果,我不相信我可以使用ActiveXObjects。
问题
有没有其他方法可以在我的打字稿代码和Matlab实例之间建立连接?
目标
我试图从VS Code终端运行Matlab文件,而无需打开自定义Matlab终端或完整的Matlab GUI。输出也应显示在VS Code终端中。在MacOS和Linux上,我可以简单地使用CLI工具,但是由于Windows版本和MacOS / Linux版本之间的差异,在Windows上是不可能的。
我没怎么用过 TypeScript,我所做的也很少,那是很久以前的事了,那时它还是全新的。
然而,NPM 包 win32ole 可以在 NodeJS 中使用,所以我假设您也可以在 Typescript 中使用它(也许对示例进行一些小的修改,或者一个小的包装器)。
这是该页面的一个示例,展示了如何与 Excel 交互来创建和保存工作表。
try{
var win32ole = require('win32ole');
// var xl = new ActiveXObject('Excel.Application'); // You may write it as:
var xl = win32ole.client.Dispatch('Excel.Application');
xl.Visible = true;
var book = xl.Workbooks.Add();
var sheet = book.Worksheets(1);
try{
sheet.Name = 'sheetnameA utf8';
sheet.Cells(1, 2).Value = 'test utf8';
var rg = sheet.Range(sheet.Cells(2, 2), sheet.Cells(4, 4));
rg.RowHeight = 5.18;
rg.ColumnWidth = 0.58;
rg.Interior.ColorIndex = 6; // Yellow
var result = book.SaveAs('testfileutf8.xls');
console.log(result);
}catch(e){
console.log('(exception cached)\n' + e);
}
xl.ScreenUpdating = true;
xl.Workbooks.Close();
xl.Quit();
}catch(e){
console.log('*** exception cached ***\n' + e);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
185 次 |
最近记录: |