VBSからHTMLを起動するには?


きんむ  2005-06-24 23:46:58  No: 123035

はじめまして、きんむと申します。
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ファイルを実行させることが目的ですので、
上記のどちらの方法でも問題ありません。
もし、ご存知のかたがおられましたらご教授いただけると幸いです。
宜しくお願い致します。


Dental  2005-06-25 00:16:51  No: 123036

サーバー側で IE を起動させたとして、それをどうしたいのでしょうか?

もしも起動したとしても、画面に表示させる事はできませんし、
意味があるとは思えないのですが……。


きんむ  2005-06-27 21:41:25  No: 123037

早速のレスありがとうございます。

> もしも起動したとしても、画面に表示させる事はできませんし、
> 意味があるとは思えないのですが……。
起動したいHTMLにVBScriptを記述しておりまして、
このVBScriptから帳票を印字するような仕組みを考えております。

IEを起動時に該当するHTMLをパラメータとして
付け加えることで実現出来るかなぁと思っていました。


Dental  2005-06-27 22:59:01  No: 123038

IISの実行ユーザーには、どのような実行権限を与えていますか?
(権限次第では、実行だけはできるかも知れません)

> 起動したいHTMLにVBScriptを記述しておりまして、
> このVBScriptから帳票を印字するような仕組みを考えております。
たとえ起動できたとして、実行されたプロセスは、誰が終了させるのでしょうか?
また、複数ユーザーが同時にアクセスしたり、ブラウザからのリロードが
連続して行われた場合にも、サーバ側はプロセスの連続実行に耐えられるのでしょうか?


きんむ  2005-06-28 06:30:53  No: 123039

> IISの実行ユーザーには、どのような実行権限を与えていますか?
> (権限次第では、実行だけはできるかも知れません)
なにぶん知識不足で申し訳ありません。
IISの実行ユーザーはどこで確認すればよろしいでしょうか?
Adminかと思ったりもするのですが…。

> たとえ起動できたとして、実行されたプロセスは、誰が終了させるのでしょうか?
実行されたHTMLが終了すると同時に自動でプロセスも終了すると
勝手に思い込んでおりました。
HTMLを実行したVBScriptでRunしたあと、HTMLが終了するのを待って
終了と同時にプロセスも終了させるべきなのでしょうか?

> また、複数ユーザーが同時にアクセスしたり、ブラウザからのリロードが
> 連続して行われた場合にも、サーバ側はプロセスの連続実行に耐えられるのでしょうか?
サーバー側が連続実行に耐えられるのかは…まったく予想がつかないです。
ご指摘いただいてから気付きました。
連続実行の負荷テストを行って確認したいと思います。

質問ばかりになってしまって、申し訳ありません。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加