• 締切済み

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 %>

みんなの回答

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

 ん~~~~? これってVBScriptだよね?  ASPは言語として主にJScriptかVBScriptを使うけど、ASP.NETは言語としてVB.NET言語、C#言語を使う。なので今までVBSで書いてきたスクリプトは全部VB.NET言語で書き直さないといけない。で、VB.NET言語にはSetステートメントは無い。  後、ファイルの先頭かWebアプリの設定などで(VB.NETを使うよ、と)言語を指定する事。WebMatrix(これって言語はC#だけだったか?)やVisual Web Developer Express Edition(.NET Framework 2.0用)を導入するとその辺全部やってくれるはずなので良いかと。

okey-koba
質問者

お礼

その通りでしたー^ そうですよねー。そうだ。 気がつきました。 書き直しカー。 使ってるのはMSVS2003ですー。 WEBMATRIXはフリーのやつですよね。 参考書探してて目に留まりました。 確かC#だったような。 秋葉原ヨドバシで探しましたが、サンプルたくさん掲載されてて、しかもvbの本て無かったんです。 あー。、 ありがとうございます。

関連する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で見積スクリプトを作っています。 ソースは・・・ 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() のような、動的配列を使うのですか? それとも使わなくても出来るものなんでしょうか? プロの方にとっては、簡単すぎる質問でしょうが、 分かる方、ぜひご教授お願いします。

  • 月別アクセスカウンター

    宜しくお願いします。m(__)m あるaspファイルにアクセスするとテキストファイルがはきだされ、カウントをとりたいのですがうまくいかないのです。 (書き出すファイル内では下記のような日付とアクセスカウントがカンマ区切りで記述されて月ごとに改行され保存したいのです。) 以下はき出されるテキストイメージ ------------------------- 2002/7,552 2002/8,871 2002/9,326 . . ------------------------- 現在制作したソースは以下のようになっていまして ここ3日ばかり試行錯誤しているのですが どうしてもうまくいかないのです。 ご教授宜しくお願いいたします。 -----以下ソースです------- <% Set objFile = Server.CreateObject("Scripting.FileSystemObject") sPathCountFile = Server.MapPath("count.txt") On Error Resume Next Set strmFile = objFile.OpenTextFile(sPathCountFile, 1, FALSE) If Err.Number > 0 Then cntonly01 = 0 cntonly02 = 0 Else cntonly = strmFile.ReadLine cnt_sum = split(cntonly,",") cntonly01 = cnt_sum(0) cntonly02 = cnt_sum(1) cntonly02 = cntonly02 + 1 strmFile.Close Set strmFile = objFile.OpenTextFile(sPathCountFile, 2, TRUE) strmFile.WriteLine cntonly01 & "," & cntonly02 strmFile.Close End If Dim tuki tuki=Left(dtOld,7) If tuki <> Month() then Set strmFile = objFile.OpenTextFile(sPathCountFile, 8, TRUE) strmFile.WriteLine cntonly01 & "," & cntonly02 cntonly = 0 strmFile.Close End If %>

  • 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>

  • 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を持っていくと問題なく動作しますが、それ以外デスクトップからだと「書き込みできません。」とエラーメッセージができません。 どうしたらいいでしょうか? よろしくお願い致します。

  • 【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

  • ファイル書き込み

    out.csvファイルに追記していくにはどのように記述すればいいのでしょうか? アドバイス下さい。 Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("c:\test.csv") 'objFile.ReadLine Do While Not objFile.AtEndOfStream StrLine = objFile.ReadLine MyString = split(StrLine,",") ' msgbox Mid(MyString(0),2,10) ' MyString = split(objFile.ReadLine,",") if Mid(MyString(0),2,10) = "(PDH-CSV 4" then Set objWFile=objFSO.OpenTextFile("c:\out.csv",2,true) objWFile.write(StrLine) msgbox "!!!" end if ' if Mid(MyString(0),2,10) = DateString then Set objWFile=objFSO.OpenTextFile("c:\out.csv",2,true) objWFile.write(StrLine) ' 'msgbox Mid(MyString(0),2,10) msgbox "???" end if loop objFile.close Set objFSO = Nothing Set objFile = Nothing

  • 【VBScript】文字列変換&抽出

    VBScriptで以下の動作を実現させたいと思っています。 ・vbsファイルにテキストファイルをドラッグする ・InputBoxに任意の文字列を入力する ・変換しますか?と問われるため、 「はい」を押したらTextStreamオブジェクトを1行ごとに読み込む ・見つかった文字列を置換し、その文字列が含まれた全ての行を  別名のテキストファイルに抽出する  例:(ファイルA)    asdfghjk.vbs    1:あいうえお     2:かきくけこ 3:あいうえお ⇒ (ファイルB)    asdfghjk_20151217.vbs    1:をふうえお 2:をふうえお ・「いいえ」を押したら変換しないで別名のテキストファイルに 見つかった文字列が含む行をそのまま抽出する ・見つからなかった場合、何もしない (別名のテキストファイルを作成しない) 前のプログラムだと、文字列が見つからなかった場合でも 空のテキストファイルを作成していました。 これを防ぐために、以下のように修正したのですが、 オブジェクトが存在しない旨のエラーが出て機能してくれません。 どこが問題なのでしょうか? また、次のステップとして、変換処理を加えたいのですが、 InputBoxを再び使用せずに置換することは可能なのでしょうか? 恐れ入りますが、回答いただけますと幸いです。 Option Explicit Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim objParm, strFile, strX, lonMsgBox Dim objFSO, objOpen, strText, strNewFile, objTS Dim lonDate, v, strBuffer Set objParm = Wscript.Arguments If objParm.Count = 0 Then WScript.Echo "引数が指定されていません。" WScript.Quit ElseIf objParm.Count >= 2 Then WScript.Echo "2つ以上のファイルが指定されています。" WScript.Quit Else strFile = objParm(0) End If Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.GetExtensionName(strFile) <> "txt" Then WScript.Echo objFSO.GetExtensionName(strFile) MsgBox "テキストファイル以外が指定されています。" & vbCr _ & "ファイルを指定し直してください。", vbExclamation, "Error" WScript.Quit End If strX = InputBox("抽出したい文字列を入力してください。", "変換処理") If IsEmpty(strX) Then MsgBox ("キャンセルされました。") WScript.Quit ElseIf strX = "" Then MsgBox "文字列が入力されていません。" & vbCr _ & "入力し直してください。", vbOKOnly, "Error" WScript.Quit End If lonMsgBox = MsgBox(strX & "を抽出します。" & vbCr _ & "変換しますか?", vbYesNo + vbQuestion, "確認") If lonMsgBox <> vbYes Then MsgBox ("変換をスキップします。") End If lonDate = "_" & Year(Now()) & right( "00" & Month(Now()),2) & right( "00" & Day(Now()),2) strNewFile = objFSO.BuildPath( _ objFSO.GetParentFolderName(strFile), _ objFSO.GetBaseName(strFile) & _ lonDate & "." & objFSO.GetExtensionName(strFile)) Set objOpen = objFSO.OpenTextFile(strFile, ForReading) Do Until objOpen.AtEndOfStream = True strText = objOpen.ReadLine v = strText.ReadLine If InStr(v, strX, vbTextCompare) > 0 Then strBuffer = strBuffer & v & VBCrLf End If Loop objOpen.Close Set objOpen = Nothing If IsEmpty(strBuffer) Then MsgBox strX & "が見つかりませんでした。" WScript.Quit End If Set objTS = objFSO.OpenTextFile(strNewFile, ForWriting, True) objTS.WriteLine strBuffer objTS.Close Set objTS = Nothing Set objFSO = Nothing WScript.Sleep 1000 MsgBox ("文字列の抽出が完了しました。")

  • VBS

    VBSであるファイルを1行ずつ読み込み、その読み込んだ値を ある別のファイルにリダイレクトしたいのですが、 どのように書けばよいか教えてください。 下記のように、echoでは出すことができるのですが、 ファイルにリダイレクトというのができません。 よろしくお願いします。 ==== sample shell ========================= Option Explicit On Error Resume Next Dim objFSO ' FileSystemObject Dim objFile ' ファイル読み込み用 Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") If Err.Number = 0 Then Set objFile = objFSO.OpenTextFile("d:\dr1.txt") If Err.Number = 0 Then Do While objFile.AtEndOfStream <> True WScript.Echo objFile.ReadLine Loop objFile.Close Else WScript.Echo "ファイルオープンエラー: " & Err.Description End If Else WScript.Echo "エラー: " & Err.Description End If Set objFile = Nothing Set objFSO = Nothing ============================================================

  • ASPでdatファイル書き出しについて

    いまだにASPの質問で申し訳ありません。 現在作成中のフォームは、キャラセットがUTF-8です。 datファイルに書き込みを行うのですが、書き込む言語は簡体字となります。日本語、英語、英数字は書き込みができたのですが、フォームより簡体字を入力したところ、エラーが発生します。 内容は、プロシージャを使用してもいないのに「プロシージャの呼び出し、または引数が不正です。」と言われます。下記の部分がエラー対象行となっていました。 ↓ ここから ↓ Set objFs=Server.CreateObject("Scripting.FileSystemObject") Set objTs=objFs.OpenTextFile(Server.MapPath("dl.dat"),8,True) objTs.WriteLine T_DATE & "," & USR_NAME & "," & LOC objTs.Close ↑ ここまで ↑ Response.Writeでの表示はできたのですが、datへの書き込みができず、どのように対応したらよいかわかりません。 どなたか御教示願えませんでしょうか。よろしくお願いいたします。

専門家に質問してみよう