はじめまして、きんむと申します。
VBScriptについて質問させて頂きます。
VBScript初心者なもので突拍子もないことを
言っているかもしれませんが…ご容赦ください。
VBScriptの中でHTMLファイルを実行させたいのですが、
上手くいかなくて行き詰まってしまいました。
VBScriptとHTMLファイルは両方ともWebサーバー
(Windows2000Server)の同一フォルダー内に格納しております。
試したのは以下の2つの方法です。
1.Runを使って起動する方法
2.ASPExecを使って起動する方法
記述したソースとエラーは以下の通りです。
1.Runを使って起動する方法
<ソース>
if isempty(session("s3fs")) then
Set session("s3fs") = Server.CreateObject("WScript.Shell")
end if
session("s3fs").Run "iexplore.exe C:\Inetpub\Wwwroot\START.html", 1, False
<エラー>
アプリケーションを正しく初期化できませんでした(0x0000142)
※VBScriptは正常に終了しますが、WEBサーバーに上記のエラーが表示され
htmlは起動しません。
<個人的見解>
VBScriptからはHTMLを起動しているように見えるので、
WEBサーバー側の問題のようにも思います。
対象フォルダー及びファイルの実行権限がないのかと考えて確認しましたが、
権限は、フルコントロールでしたので問題なさそうに思っております。
2.ASPExecを使って起動する方法
<ソース>
Set session("s3fs") = Server.CreateObject("ASPExec.Execute")
session("s3fs").Application = "C:\Program Files\Internet Explorer\iexplore.exe"
session("s3fs").Parameters = "C:\Inetpub\Wwwroot\START.html"
<エラー>
006~ASP 0177~Server.CreateObject に失敗しました
~無効な ProgID。 このメッセージに関する追加情報については、
以下のマイクロソフト オンライン サポートのサイトを参照してください:
http://www.microsoft.com/contentredirect.asp
※VBScriptは異常終了します。
<個人的見解>
ASPExecのインストールか設定が出来ていないのだと思います。
WEBサーバーのVBScriptと同じフォルダにASPEXEC.DLLを格納しているだけです。
VBScriptの中でHTMLファイルを実行させることが目的ですので、
上記のどちらの方法でも問題ありません。
もし、ご存知のかたがおられましたらご教授いただけると幸いです。
宜しくお願い致します。
サーバー側で IE を起動させたとして、それをどうしたいのでしょうか?
もしも起動したとしても、画面に表示させる事はできませんし、
意味があるとは思えないのですが……。
早速のレスありがとうございます。
> もしも起動したとしても、画面に表示させる事はできませんし、
> 意味があるとは思えないのですが……。
起動したいHTMLにVBScriptを記述しておりまして、
このVBScriptから帳票を印字するような仕組みを考えております。
IEを起動時に該当するHTMLをパラメータとして
付け加えることで実現出来るかなぁと思っていました。
IISの実行ユーザーには、どのような実行権限を与えていますか?
(権限次第では、実行だけはできるかも知れません)
> 起動したいHTMLにVBScriptを記述しておりまして、
> このVBScriptから帳票を印字するような仕組みを考えております。
たとえ起動できたとして、実行されたプロセスは、誰が終了させるのでしょうか?
また、複数ユーザーが同時にアクセスしたり、ブラウザからのリロードが
連続して行われた場合にも、サーバ側はプロセスの連続実行に耐えられるのでしょうか?
> IISの実行ユーザーには、どのような実行権限を与えていますか?
> (権限次第では、実行だけはできるかも知れません)
なにぶん知識不足で申し訳ありません。
IISの実行ユーザーはどこで確認すればよろしいでしょうか?
Adminかと思ったりもするのですが…。
> たとえ起動できたとして、実行されたプロセスは、誰が終了させるのでしょうか?
実行されたHTMLが終了すると同時に自動でプロセスも終了すると
勝手に思い込んでおりました。
HTMLを実行したVBScriptでRunしたあと、HTMLが終了するのを待って
終了と同時にプロセスも終了させるべきなのでしょうか?
> また、複数ユーザーが同時にアクセスしたり、ブラウザからのリロードが
> 連続して行われた場合にも、サーバ側はプロセスの連続実行に耐えられるのでしょうか?
サーバー側が連続実行に耐えられるのかは…まったく予想がつかないです。
ご指摘いただいてから気付きました。
連続実行の負荷テストを行って確認したいと思います。
質問ばかりになってしまって、申し訳ありません。
ツイート | ![]() |