matlabでvbsを実行する方法

25 visualizaciones (últimos 30 días)
qrqr
qrqr el 23 de Jul. de 2020
Comentada: Kojiro Saito el 27 de Jul. de 2020
matlabコードの中で、vbaを実行しようとしています。
エクセルにvbaを記述しているわけではなく、.vbsのファイルにしてあります。
.exeの感覚で run(test.vbs)ができるかと思ったのですができませんでした。
やり方がわかる方いましたら回答お願いいたします。

Respuesta aceptada

Kojiro Saito
Kojiro Saito el 27 de Jul. de 2020
WindowsのCScriptやWScriptを実行させる方法でどうでしょうか。
MATLABから!記号systemコマンドでOSのコマンドを実行できますので、以下のように.vbsファイルをバッチモード(//B)で実行できます。
!CScript vbsTest.vbs //B
  2 comentarios
qrqr
qrqr el 27 de Jul. de 2020
ありがとうございます。
やりたいことができました。
このコマンドではmatlbの変数を.vbsに受け渡すことはできるのでしょうか?
Kojiro Saito
Kojiro Saito el 27 de Jul. de 2020
数字や文字列などのシンプルな変数でしたら、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などのファイル渡しにする方法で実現できます。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Import from MATLAB en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!