ASP初心者のためのServerの宣言方法

このQ&Aのポイント
  • ASP初心者の方がWindows2000とIIS 5.0を使用している際に、「この変数は宣言されていません」というエラーが出る場合、Serverオブジェクトを宣言する必要があります。
  • Serverオブジェクトは、ASPのグローバルオブジェクトであり、ウェブサーバー上での情報や操作を提供します。
  • サーバーオブジェクトを宣言するには、以下のようにコードを追加します。 Dim objServer Set objServer = Server.CreateObject("Scripting.FileSystemObject")
回答を見る
  • ベストアンサー

Serverの宣言

ASP初心者です。 windows2000,IIS 5.0を使っています。 ウイルスソフトは使っておりません。 下記プログラムで この変数は宣言されていません。"Server" とエラーがでるのですが、どのサイトで探しても 宣言しないといけないようなことは書いてありません。 どなたかご伝授ください。 (Server.を消してローカルでhtmlを起動するとうまくいきますが、http://localhostで行うとだめです <HTML> <HEAD> <SCRIPT LANGUAGE="VBScript"> <!-- Option Explicit Dim s,pfile,fs,MyHtml Sub aaa_OnClick() Dim objFSO Dim objTS dim session objFSO = Server.CreateObject("Scripting.FileSystemObject") Set objTS = objFSO.OpenTextFile("c:\a.data",2 ,True) objTS.Write("PARTS" & chr(13)) objTS.Close Set objTS = Nothing Set objFSO = Nothing End Sub --> </SCRIPT> </HEAD> <BODY> <INPUT type="button" name="aaa" value=" "><BR> </BODY> </HTML>

  • obone
  • お礼率51% (111/215)

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

? これってクライアント側(Webブラウザが動作しているパソコン)で動くよねぇ? Webサーバ側で操作させたいのなら、 <SCRIPT LANGUAGE="VBScript"> <!-- hogehoge --> </SCRIPT> じゃなくって、 <% hogehoge %> じゃないといけない。とりあえずそこを直してから次のステップに進みましょう。また色々問題は出てくるので。

obone
質問者

お礼

ありがとうございました。

関連するQ&A

  • ASPからVBS実行時の権限

    ASPからWscript.Shellを使ってVBSを実行しているのですが、 ASP中のDBオープンには問題はないのですが、test.vbs中でオープンできません LOGファイルは"dbConnection-OK"までになっています。 権限の問題かどうかはわからないのですが、原因は何でしょうか? DBはODBC経由のSQLServerです。 ---------ASP-------------------------------------- <% Dim dbConnection Set dbConnection = CreateObject("ADODB.Connection") dbConnection.Open "testdb" dbConnection.Close Set dbConnection = Nothing '上記OPENに関して問題なし Dim WshShell Set WshShell = CreateObject("Wscript.Shell") WshShell.Run "cscript.exe e:\test.vbs 123", 0, True Set WshShell = Nothing %> <html> <head> <meta http-equiv="Cache-Control" content="no-cache" /> <title>Pipot.to</title> </head> <body> OK </body> </html> ---------test.vbs-------------------------------------- Dim ObjFSO Dim ObjTS Set ObjFSO = CreateObject("Scripting.FileSystemObject") Set ObjTS = ObjFSO.CreateTextFile("e:\log.txt") ObjTS.Write "LOG開始" Dim dbConnection Set dbConnection = CreateObject("ADODB.Connection") ObjTS.Write "dbConnection-OK" dbConnection.Open "testdb" ObjTS.Write "OPEN-OK" dbConnection.Close Set dbConnection = Nothing ObjTS.Close Set ObjTS = Nothing Set ObjFSO = Nothing

  • ASP.NETでのアクセスカウンター導入方法

    どうぞよろしくお願いします。 現在、ASP.NETでホームページを作成しておりますが、 旧来、aspで使用していたアクセスカウンターが動きません。set代入ステートメントはサポートされてませんというエラーが出ます。 以下ソースなのですが、簡単な修正で使うことはできますか? また、aspのフリーアクセスカウンターはネット上にたくさんありますが、asp.NETのものがあるサイトがありましたら教えてください。 よろしくお願いします。 <% Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") filename = Server.MapPath("data/count.dat") 'カウンタファイルを読み取り専用で開きます。 Set ObjTS = ObjFSO.OpenTextFile(filename,1,True) 'カウンタ値を取得します。 If ObjTS.AtEndOfStream Then cnt = 0 Else cnt = ObjTS.ReadLine End If 'ファイルを閉じます。 ObjTS.Close 'カウンタ値を加算します。 cnt = cnt + 1 'カウンタファイルを上書きモードで開きます。 Set ObjTS = ObjFSO.OpenTextFile(filename,2,True) 'ファイルにカウンタ値を書き込みます。 ObjTS.WriteLine cnt 'ファイルを閉じます。 ObjTS.Close 'カウンタ値を表示します。 Response.Write "現在までのアクセス数:" & cnt 'オブジェクトを解放します。 Set ObjTS = Nothing Set ObjFSO = Nothing %>

  • 合計金額を出すには動的配列?

    初投稿です。ASPで見積スクリプトを作っています。 ソースは・・・ Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") Set ObjTS = ObjFSO.OpenTextFile(data_file) Do Until ObjTS.AtEndofStream Arr = ObjTS.Readline Arr1 = split(Arr,"::") tanka = FormatCurrency(Arr1(1)) goukei = Arr1(1) * Arr1(2) Loop ObjTS.Close Set ObjTS = Nothing Set ObjFSO = Nothing ================================ この、変数:goukeiを全て加算して、 最後に見積合計を出したいんですが、 これを出すには Redim Preserve goukei() のような、動的配列を使うのですか? それとも使わなくても出来るものなんでしょうか? プロの方にとっては、簡単すぎる質問でしょうが、 分かる方、ぜひご教授お願いします。

  • 【VBS】別ファイルから1行取得後HTML出力

    お世話になります。 プログラム初心者です。 下記条件でプログラムを作成しましたが、表示がされなくて困っています。 ■VBSはHTML内に組み込み ■別ファイル(C:\vbs\version.txt)から1行読み込みHTMLで指定位置に表示 以下、プログラムです。(HTMLに関しては省略あり) <HTML> <HEAD> </HEAD> <TITLE>テスト</TITLE> <BODY> 略 <script language="VBScript"> <!-- Dim objData Dim objFSO ' FileSystemObject Dim objFile ' ファイル読み込み用 Sub SetVersion() Set objFSO = CreateObject("Scripting.FileSystemObject") Set objData = document.GetElementById("myData") Set objFile = objFSO.OpenTextFile("C:\vbs\version.txt") objData.innerText = objFile.ReadLine 'ファイル読み込み表示用 End Sub --> </script> <!--表示--> <span onload="SetVersion()" style="POSITION:absolute; top:120px; left:884px; font-size: 15pt; font-weight:bold; color:white; width: 96px; height: 48px;"> <CENTER> <FONT color="#ffffff" Size="2"> <div id="myData"></div> </FONT ></CENTER> </span> 略 </BODY> </HTML> 実行しても何も表示されません。 どこがおかしいのでしょうか? ご教授いただければと思います。

  • 変数がの入れ方を教えてください。

    Set ObjTS = ObjFSO.OpenTextFile(Server.MapPath("list.txt"),1) この("list.txt")の"list"に変数を使う場合はどうしたらいいでしょうか。 "list"という名前じゃないかもしれないんで変数にして指定したいんですけれど。 <%= %>は、無理ですし・・。 よろしくお願いいたします。

  • OpenTextFile で書き込みできません。

    dim ObjFSO,ObjTS 'オブジェクトを作成します。 Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") 'ファイルを開きます。 Set ObjTS = ObjFSO.OpenTextFile(filename,1,false) filenameにはC:\Documents and Settings\○○○\デスクトップ\test.csvが入っています。 サーバーのパスにtest.csvを持っていくと問題なく動作しますが、それ以外デスクトップからだと「書き込みできません。」とエラーメッセージができません。 どうしたらいいでしょうか? よろしくお願い致します。

  • CSVファイル

    CSVファイルを1行ずつ比較して読み込み、一致した行を別ファイルに記述していこうと思っています。 現在、csvファイルを読み込む所まで出来ています。 比較して別ファイルに記述する方法を教えて下さい。 もしくはアドバイスください。 【ファイルの中身】 "09/09/2005 0:00:00,aaa,bbb,ccc" 【比較条件】 当日の日付を取得し、年月日だけで比較する Dim objFSO ' FileSystemObject Dim objFile ' ファイル読み込み用 Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("c:\test.csv") Do while objFile.ReadLine <> ""         'IF文を記述(条件:日付)        '別ファイルに記述する Loop objFile.close Set objFileSystem = Nothing Set objFile = Nothing

  • VBScriptの繰り返し文について

    こんにちは。下のスクリプトでクリックボタンをクリックすると、サブフォルダ名が表示されるようにしたいのですが、どこのクリックボタンをクリックしても、一番下のサブフォルダの名前が表示されてしまいます。何かいい方法はあるでしょうか。よろしくお願いいたします。 <html><head> <title>test</title> </head> <body> <h3>サブフォルダ一覧</h3> <table border> <tr><td>サブフォルダ名</td><tr> <script language=VBScript> <!-- Option Explicit Dim FSO Dim TestFolder Dim F Dim X set FSO = CreateObject("Scripting.FileSystemObject") Set TestFolder = FSO.GetFolder(".").ParentFolder For Each f IN TestFolder.SubFolders X = f.name Document.Write "<tr><td> " & X & " </td></tr><td><input type=button onclick=setnum value=クリック></td></tr>" Next Sub setnum msgbox X End Sub Set FSO = Nothing Set TestFolder = Nothing --> </script> </table> </body></html>

  • 【VBScript】プログラム改良

    VBScriptのプログラムについて、 回答頂きたく投稿しました。 以下を実行すると、 65行目で「'End'がありません。」とエラー表示されてしまいます。 End Ifは入れているはずですが、どこが問題なのでしょうか? またIfステートメントを少し減らしたいのですが、 どうすればシンプルな形になりますでしょうか? 恐れ入りますが、アドバイス頂ければ幸いです。 Option Explicit Dim intCount, strFile, strArg, strX, lonMsgBox, objFSO, objOpen, strText, strNewFile, objTS intCount = 0 If WScript.Arguments.Count = 0 Then WScript.Echo "引数が指定されていません。" WScript.Quit End If For Each strArg In WScript.Arguments intCount = intCount + 1 strFile = strArg Next Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.GetExtensionName(strFile) <> "txt" Then If intCount > 1 Then MsgBox "2つ以上のファイルが指定されています。" & vbCr _ & "ファイルを指定し直してください。", 48, "Error" WScript.Quit Else MsgBox "テキストファイル以外が指定されています。" & vbCr _ & "ファイルを指定し直してください。", 48, "Error" WScript.Quit End If Else strX = InputBox("抽出したい文字列を入力してください。", "変換処理") If strX <> "" Then lonmsgbox = MsgBox (strX & "を抽出します。" & vbCr _ & "変換しますか?", 4 + 32 + 0, "確認") If lonmsgbox = 6 Then strNewFile = objFSO.BuildPath( _ objFSO.GetParentFolderName(strFile), _ objFSO.GetBaseName(strFile) & "_New." & objFSO.GetExtensionName(strFile)) Set objTS = objFSO.OpenTextFile(strNewFile, 2, True) Set objOpen = objFSO.OpenTextFile(strFile, 1) Do Until objOpen.AtEndOfStream = True strText = objOpen.ReadLine If InStr(strText, strX) > 0 Then objTS.WriteLine strText End If Loop objTS.Close Set objTS = Nothing objOpen.Close Set objFSO = Nothing WScript.Sleep 1000 MsgBox ("文字列の抽出が完了しました。") Else MsgBox ("処理を中断します。") End If End If ElseIf IsEmpty(strX) then MsgBox ("キャンセルされました。") WScript.Quit Else MsgBox "文字列が入力されていません。" & vbCr _ & "入力し直してください。", 0, "Error" WScript.Quit End If

  • Objectで宣言するのとObject型で宣言する

    Objectで宣言するのとObject型で宣言するのではどちらがいいでしょうか? エクセルです。 VBAでコードを作るにおいて、どちらのほうがいいのでしょうか? どちらも同じ動きをします。 Sub Sample1() Dim buf As Range Set buf = Range("A1") MsgBox buf.Value End Sub Sub Sample2() Dim buf As Object Set buf = Range("A1") MsgBox buf.Value End Sub ご回答よろしくお願いします。