• 締切済み

VBscriptが起動しない?

次のソースでVBSの400A0800コンパイルエラー、ステートメントがありませんというエラーがでてしまいます。 場所 1行 1文字目 また、このソースだけでなく、 他のVBSのファイルでも同じようなエラーがでてしまいます。 実行環境の問題なのか? scriptの定義の仕方の問題なのかわかりません? 分かる方、是非、解決法をよろしくお願いします。 ちなみにIE6を使用しています。 <script language="VBS"> myYear = Year(Now) myMonth = Month(Now) myday = Day(Now) document.write("今日は" & myyear & "年"& myMonth & "月" & Myday & "日です") </script>

みんなの回答

  • ramuta
  • ベストアンサー率32% (74/227)
回答No.6

とりあえず今回書かれてる形式はクライアント側の ブラウザで動かす為のVBScriptです。 ですので「htm or html」で動けばまずは一件落着ですよね? ・ご自分のPCで検証されているならば拡張子は  「htm or html」で行って下さい。 念のため解説しますと、VBScriptの用法の違いですが、 1.今回の物   これはクライアント側でVBScriptを動かします。 2.ASPと呼ばれる物   これはサーバ側で動かします。クライアント側は   プログラムを持たず結果のHTMLだけを受け取り   表示します。   書き方が色々と違い例えば、表示の指定が response.write("今日は" & myyear & "年"& myMonth & "月" & Myday & "日です") と言う書き方をします。   1番と違いASPの特徴は複雑で難しいプログラム   を書いたとしてもクライアント側には結果しか   行きませんので割と高速に動きます。   例.フォームから1000バイトの文字列を入力する     として、この変数の1バイト毎に違う変換規則     入力チェック規則などがあり、実行後チェック     結果を「OK」、「NG」を表示するとした     場合、1番ではその複雑なプログラムを     クライアントに転送させなければなりません。     場合によっては1000行以上のプログラムを     です。どう考えても転送時間がもったいない     ですよね?     これがASPの場合ですとサーバ側で処理を     した結果だけを転送しますので、    「OK」か「NG]かのデータを転送するだけ     ですみます。   これはWebサーバであるIIS等が必要ですので   もしその環境をお持ちでなければとりあえず   忘れられた方が良いでしょう。 3.WSH   下のURLに少し触りの解説がありますが、   これはマクロ言語的な使い方をする物ですので   Webには関係無いです。   この使い方の時に「VBS」と言う拡張子を   使いますね。 とりあえずこの辺で一旦休みます。

参考URL:
http://www.h5.dion.ne.jp/~tuyano/WSHTutor/index.html
sea_clear
質問者

お礼

詳しく教えてくれてありがとうございます。 また参考URLまで教えてくれて有難いです. まず、クライアント側のブラウザで動かす為のVBScriptです。 ですので「htm or html」で動けばまずは一件落着ですよね? クライアント側では、サーバ側でスクリプト等のプログラミング結果をHTMLのタグ or 変数の値でクライアント側に表示するので、html、htmの拡張子で動くということですね。 htm、htmlの拡張子で、サーバをしようせず、クライアント側だけでVBscriptが動くのは、htmlの中にscriptを指定しscriptを組み込むので、html、htmの拡張子で、VBscriptが動作するっていうことですね。 WSHなのですが、scriptの指定を書かなくても、 Dim str str=InputBox ("何か入力してください。") MsgBox str だけをTEXTファイルに記入し、拡張子vbsで動きました. 何故、WSHっていうのは、jscript VBscriptで動くのですよね、何故、scriptの指定をしなくても動くのでしょうか?拡張子のvbsでVBscrptって指定していることなのでしょうか? 何回もつまらない質問をしてすいません。 時間があれば、教えてください。 文字エラー処理の場合でも、エラーの処理の対処でも 例えば、文字を入力しなければならない所に 数字が入力されて、文字を入力してくださいという 対処の文字をクライアント側に送るだけなので、html htmっていう拡張子でいいんですよね。 サーバ側からRespons.writeでクライアント側のブラウザ にタグと処理結果を送る場合はクライアント側の拡張子は 考えなくてもいいんですよね。 忙しいところ、詳しく書いて頂いてありがとうございます. また何かを教えて頂けると楽しみにしています。 よろしくお願いします。 本当にありがとうございました。

  • ramuta
  • ベストアンサー率32% (74/227)
回答No.5

私の記憶違いでなければ拡張子VBSは WSHでは? 前回コピーしただけと言う話は 拡張子を「htm」にしています。 問題はこれでは?

sea_clear
質問者

お礼

回答ありがとうございます。 拡張子 htmで僕のも動きました. 拡張子VBSでは、指定をWSHにしても動きませんでした。 詳しくわからないのですが、WSHっていうのは Windowscripthostのことですか? もしよければ、Windowscripthostについて、おしえて 頂けないでしょうか? 拡張子VBSでは質問で述べましたエラーがでてしまいます。 逆に拡張子をWSHにするとスクリプトファイルが指定されていませんとでます。 私のパソコンでは実行環境が整ってないのでしょうか? このファイルをデスクトップ上にファイルを置いてダブルクリックで起動させています。

  • onti
  • ベストアンサー率37% (9/24)
回答No.4

なんどもあれですが、実行環境としてIISって インストールされてますか?

sea_clear
質問者

お礼

はじめまして、何回も回答ありがとうございます。 ASPの実行環境はそろってます。 拡張子をVBSからASPに変更したら、しっかり動きました. もし、VBSの拡張子で、動かせるやり方があれば、教えてください。ありがとうございました。

  • ramuta
  • ベストアンサー率32% (74/227)
回答No.3

#1の方と同じ事を思いつつ試しましたが、 IE6だとこのままで動きました(笑) sea_clearさんの書かれた内容をコピーして ファイルを作って実行しただけです。 このスクリプトだけでファイルを作って実行しても エラーが出ますか?

sea_clear
質問者

お礼

はじめまして、回答ありがとうございます。 拡張子がVBSだと、エラーがでますが、 aspだとエラーがでませんでした。 もし、VBSの拡張子で、動かせるやり方があれば、 教えてください。 ありがとうございました。

  • rara_sun
  • ベストアンサー率50% (271/539)
回答No.2

全くこの手の知識がないのですが、 MSサイトのヘルプを見たら・・ ASPですよね? <%@LANGUAGE=VBScript%> の指定がないからエラーになると思うんですが・・。 それに、 <script language="VBS"> </script> って、HTML内でスクリプト実行するときですよね? ASPではこんな指定方法はヘルプを見る限り載ってません。 (全く知識がないので、ヘルプの内容を見間違えたかも しれません。そうでしたら、ご容赦を・・) それに、document.write って、ASPの命令に なかったのですが・・・。 (全く知識がないので、ヘルプの内容を見間違えたかも しれません。そうでしたら、ご容赦を・・) クライアントで実行させたかったら、 標準出力命令(Writeln?)で、ソースを表示させるように しないといけないと思うのですが・・ 的を外していたら、ご容赦を・・。

sea_clear
質問者

お礼

はじめまして、回答ありがとうございます。 また、いろいろ詳しく書いて頂いて、有難うございます。 拡張子をVbsからASPに変更したら、 しっかりうごきました。 <script language="VBS"> </script> って、HTML内でスクリプト実行するときですよね? はい。 それに、document.write って、ASPの命令に なかったのですが・・・。 間違ってたら申し訳ないんですが、document.writeって 多分、クライアント側でどうさせ、文字を書きこむソース だと思います。 クライアントで実行させたかったら、 標準出力命令(Writeln?)で、ソースを表示させるように しないといけないと思うのですが・・ よくわかりませんので、よろしければ、詳しく教えてください。Writeln?について。 ASPかどうかはわかりませんか、拡張子がVBSで動く方法が あれば、教えてください。 お願いします.

  • onti
  • ベストアンサー率37% (9/24)
回答No.1

これって、一行目のVBSが間違ってませんか? VBScriptって記述するんじゃないでしたっけ?