• ベストアンサー

ASPでファイルを開く(実行)

ASPからOFFICEのFILEを開く、もしくは、マクロを実行させる方法を教えて下さい。 または、VBのEXEファイルを実行する方法があれば、どなたか教えて下さい。 具体的には、WORDで作ったHTMLファイルを生成するマクロを、ASPから実行したいのです。 よろしくお願いいたします。

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

  • ベストアンサー
  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.4

あと、基本的にこの手の処理はASP自身の機能ではないので ActiveXControl等を使用するようになりますので、 VBでActiveXを作るか 確実なところで言えば、参考URLの「その他」から 番号5186 … basp21を使ってサーバープログラムを実行する を使用するしかほかには方法が無いと思います。 いろいろと遠回りしてしまいましたが、確実性で言えば BASP21を初めに紹介すればよかったかもしれません・・・。申し訳ないです。

参考URL:
http://www.f-store.net/asp/home.asp
moon45_poo
質問者

補足

こちらこそ、助かりました。 色々試してましたら、PWSで実行すると今までのソースのままWORDは立ち上がりうまくいきました。 IISだとうまく実行されないようなのです。 また、頂いた参考URLに出てましたので、VBでActiveXを作ってみたのですが、 やり方が悪いようでうまくいかなかったので、途中で断念していたのです。 しかし、ご助言の通り何回かトライしてみようと思います。 OFFICE製品は対話型を前提に作っていて、サーバで実行するのはMSN自体推奨していないような事が記述されてました。。難しいです。。 本当にありがとうございました。

その他の回答 (3)

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.3

サーバサイドですよね? タスクマネージを起動して見てください。 一覧に起動したファイルがあると思いますよ。 それと、参考URLは参考にされましたか? 以下の記述があると思います。 >また、画面に表示させるには、 >コントロールパネルのサービスで、 >IIS に対して「画面との対話を許可する」をオンにする必要があるようです。 そのままやってしまうと、非表示でバッググラウンドに 立ち上がった状態になります。

参考URL:
http://www.users.gr.jp/ml/archive/asp/1913.asp
moon45_poo
質問者

補足

何度もすみません。ありがとうございます。 「画面との対話を許可する」をオンにするのを見落としておりまして、IISに対してONにしてみました。 また、タスクマネージャーのプロセスに、WORDが立ち上がっていたことが確認出来ました。

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.2

ちょっとズレた回答だったかな? ASPだから、サーバーサイドでのEXEの起動ですよね。 番号4950…アプリ起動 の方でした。 ちなみに、番号4915…メモ帳を起動する。 はWSHなので番号4857…ASP上でWSHを起動する。 でないと起動できませんね。すみませんでした。 注:ASPからアプリを起動する場合に関係することが参考URLにあるので見ておいた方がいいです。 クライアントサイドでの起動なら、JavaScriptを使用すれば出来ます。 ※サーバ/クライアントのオブジェクトの生成記述 サーバサイド Set ws = Server.CreateObject("WScript.Shell") クライアントサイド var ws = new ActiveXObject("WScript.Shell");

参考URL:
http://www.users.gr.jp/ml/archive/asp/1913.asp
moon45_poo
質問者

補足

すみません。ありがとうございます。 かなり色々試しているのですが、うまく行きません。 *------------ DIM WshShell Set WshShell = Server.CreateObject ("WScript.Shell") WshShell.Run "C:\Inetpub\wwwroot\contents\test\a2.doc" Set WshShell = Nothing *------------ これではダメなんでしょうか? これではエラーは出ないのでうが、反応がないのです。。

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.1

exeを実行するのであれば 参考URLの左のメニューからWSHを選択し、番号4915…メモ帳を起動する。 で出来ると思います。 Officeファイルも同様に可能です。 又は「Server.CreateObject」でOfficeファイルを扱うことも可能です。 この辺のは、検索エンジンで 検索単語:ASP Server CreateObject 等で見つけることが出来ます。 参考URLのページは大変役に立ちます。ブックマークに如何でしょうか。

参考URL:
http://www.f-store.net/asp/home.asp
moon45_poo
質問者

補足

ありがとうございます。参考になりました。 *--------------- dim objWshShell set objWshShell = WScript.CreateObject("WScript.Shell") objWshShell.Run "notepad.exe", 1 ,1 *--------------- と試しにNOTPATを立ち上げようとしましたが 「この変数は宣言されていません。: 'WScript'」 とエラーが出てしまいます。 初めにWshShellを起動しなければならないとか、必要でしょうか?

関連するQ&A