• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UWSCからエクセルのマクロを実行)

UWSCからエクセルのマクロを実行する方法を教えてください

このQ&Aのポイント
  • UWSCというソフトを使用して、エクセルからマクロを実行する方法を知りたいです。
  • エクセルファイル名を指定してUWSCを起動し、マクロを実行するスクリプトを組みましたが、正しく動作しません。
  • UWSCから指定のエクセルマクロを実行する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

マクロA実行→UWSC起動→(UWSC終了)→マクロB実行 という流れですよね。 SHELLで起動した場合、起動した直後、マクロAは終了します。 これは、SHELL関数がそのままでは非同期実行だからです。 SHELL関数をマクロと同期させ、UWSC終了まで、待機させては いかがですか? 参照URLでその方法が書かれています。

参考URL:
http://www.moug.net/tech/exvba/0150034.htm
char_cat
質問者

お礼

重ねての回答ありがとうございます。 なるほど!こういう方法がありますね。もともとマクロには同期させられないと思っていたので思いもよりませんでした。 確かにUWSCを終了させた時点で、それを判断させればいいのですね。 参考のマクロを利用して組み立ててみます。 本当にありがとうございました。

その他の回答 (1)

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

やりたいことがよくわかりません。 というのは、ExcelからSHELLをつかってUWSCを立ち上げるのですよね? つまり、マクロからUWSCを起動し、同じExcelの別のマクロを実行しようとしているのですか? マクロ実行中は、別のマクロは起動できない(つまり別のマクロを起動した時点で実行中のマクロが強制終了されている)ように思われます。

char_cat
質問者

補足

コメントありがとうございます。 実は、マクロで一通り処理をして、その最後にUWSCを起動し、UWSCで他のアプリケーションの処理を開始します。それと同時に、エクセルのマクロは実行を終了します。 その後UWSCに処理を引き継いだあとで、再度エクセルのマクロに処理を引き継ぎたいと思っています。ですので、エクセルのマクロが実行中に、別のマクロを実行したいのではないのです。 わかりづらい書き方で申し訳ありません。引き続きアドバイス宜しくお願いします。

関連するQ&A