matlabでvbsを実行する方法

matlabコードの中で、vbaを実行しようとしています。
エクセルにvbaを記述しているわけではなく、.vbsのファイルにしてあります。
.exeの感覚で run(test.vbs)ができるかと思ったのですができませんでした。
やり方がわかる方いましたら回答お願いいたします。

 采纳的回答

Kojiro Saito
Kojiro Saito 2020-7-27

0 个投票

WindowsのCScriptやWScriptを実行させる方法でどうでしょうか。
MATLABから!記号やsystemコマンドでOSのコマンドを実行できますので、以下のように.vbsファイルをバッチモード(//B)で実行できます。
!CScript vbsTest.vbs //B

2 个评论

qrqr
qrqr 2020-7-27
ありがとうございます。
やりたいことができました。
このコマンドではmatlbの変数を.vbsに受け渡すことはできるのでしょうか?
数字や文字列などのシンプルな変数でしたら、sprintfを使って変数を実行コマンドに入れることで実現できます。
例えば、変数aを.vbsに渡す場合は、
a = 3;
cmdToRun = sprintf("CScript vbsTestInput.vbs %d", a);
[status,cmdout] = system(cmdToRun, '-echo');
と実行することで.vbsに渡せます。
.vbs側では、Wscript.Argumentsを使って入力引数を受け取るようにします。
vbsTestInput.vbs
Set args = Wscript.Arguments
For Each arg In args
WScript.Echo arg
Next
もっと複雑なデータだったら.txtや.csvなどのファイル渡しにする方法で実現できます。

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 グラフとネットワーク アルゴリズム 的更多信息

产品

版本

R2019a

Community Treasure Hunt

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

Start Hunting!