トップ回答者
Run メソッドを用いた開発について

質問
-
Webアプリケーション開発を行っており、
ActiveXを用いて以下を実現したいと考えております。
1.クライアント画面でファイルをサーバからダウンロード
(ブラウザのダウンロードメッセージは表示しない)
2.ダウンロードしたファイルを自動で起動
3.ダウンロードしたファイル閉じた際、編集したファイルを自動でサーバにアップロード上記を実現するにあたって以下のメソッドを利用していますが、うまく動作せず困っています。
■「Runメソッド」について
下記サイトのリファレンスに記載のRunメソッドについて
https://msdn.microsoft.com/ja-jp/library/cc364421.aspx
引数「bWaitOnReturn」に「True」を渡すと
実行プログラムが終了するまでスクリプトが待機されるという認識ですが、プログラム起動時に同一拡張子のファイルが
実行中もしくは、Run実行後に同一拡張子の他ファイル手動実行の場合において、
1)待機せずスクリプトが再開してしまう。
2)全ての同一拡張子が終了しないと
スクリプトが再開しない
といった事象が発生しています。
以下、実施例)
OS:Windows7 32bit
IE:11
Script言語:JavaScript
起動ファイル
Office2010 Excel、Word、PowerPoint
<結果>
Excel:問題なし
Word、PowerPoint:1)2)共に発生
※Office2013だとExcelも2)が発生します。
また、VBScriptに変更の場合や
execメソッド使用でも同事象になることは確認済み
■ご質問事項■
・上記の1)2)の回避方法はありますでしょうか。
宜しくお願い致します。
回答
-
一般論として、相手側のプログラムの作りに依存する話ですので、すべてのファイル・アプリケーションに対して適用可能な方法はありません。
さて、スクリプトベースではどうしようもないと思います。
特定のプログラムに限定するのであれば、そのプログラムの動きを観察し、それに応じた作り込みの可能性もありますが、バージョンが変わると動かなくなる諸刃の剣です。
ActiveX 部分で対象のアプリケーションの動きを監視するといった作り込みが必要になるかと予想します。
(ただし、ちゃんときれいに動かすのはとてつもなく大変だと思うので、できれば仕様を変えるなど、別の方策を探していただいた方が良いと、個人的には思います)- 編集済み AzuleanMVP 2015年3月6日 13:23
- 回答の候補に設定 星 睦美 2015年3月9日 7:32
- 回答としてマーク 星 睦美 2015年3月19日 8:08
すべての返信
-
一般論として、相手側のプログラムの作りに依存する話ですので、すべてのファイル・アプリケーションに対して適用可能な方法はありません。
さて、スクリプトベースではどうしようもないと思います。
特定のプログラムに限定するのであれば、そのプログラムの動きを観察し、それに応じた作り込みの可能性もありますが、バージョンが変わると動かなくなる諸刃の剣です。
ActiveX 部分で対象のアプリケーションの動きを監視するといった作り込みが必要になるかと予想します。
(ただし、ちゃんときれいに動かすのはとてつもなく大変だと思うので、できれば仕様を変えるなど、別の方策を探していただいた方が良いと、個人的には思います)- 編集済み AzuleanMVP 2015年3月6日 13:23
- 回答の候補に設定 星 睦美 2015年3月9日 7:32
- 回答としてマーク 星 睦美 2015年3月19日 8:08