![](/img/trans.png)
[英]Following a javascript postback using COM + IE automation to save text file
[英]MATLAB as COM Automation Server with Javascript
我正在嘗試使用MathWorks網站上建議的COM自動化服務器在Matlab和Javascript(我的案例中的打字稿)程序之間建立連接。 網站上的文檔包含MS創建的某些語言的示例,而不是javascript。
我似乎無法找到很多關於如何與JS建立這種COM連接的信息。 從我讀過的,它是一個舊的Microsoft功能,僅用於Internet Explorer。
問題
我正在編寫的程序是VS代碼擴展,因此我根本不使用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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.