VBScriptの関数化
私のしたいことは、
(1)リンクボタンを押すと、
(2)csvファイルを作成し、
(3)作成したcsvファイルのダウンロードを行う
というものです。
そこで、以下のようなプログラムを作成したのですが、上手くいきません。
まず、リンクボタンは
<% Response.Write "[<a href=" & FileName & " onclick='set()'>保存</a> ]" %>
次に、関数化したプログラムは、
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
<!--
sub set()
Dim i, fs,csv,flnm
flnm=<% = Request.Form("FileName") %>
Set fs = CreateObject("Scripting.FileSystemObject")
Set csv = fs.CreateTextFile(flnm,True)
'項目名を書き込む
'Serverからデータを取得
strSQL="select * from dtTbl "
Set rs = db.DbCreateDynaset(strSQL,0)
rs.MoveFirst
'データがなくなるまで繰り返す
Do Until rs.EOF=True
dtSQL=""
For i=0 to 17
dtSQL = dtSQL & rs.fields.item(i).value & ","
Next
dtSQL=dtSQL & rs.fields.item(18).value
'ファイルに書き込む
csv.WriteLine(dtSQL)
'次の行を読み込む
rs.MoveNext
Loop
'ファイルを閉じる
csv.Close
end sub
-->
</SCRIPT>
このプログラムは関数にしなければ正常に動作していました。
簡単なJavaScriptの関数を変わりにおいてみたところ、
そのプログラムは正常に動作したので、onclickは使えると思うのですが・・・
どこが間違っているのでしょうか?
ちなみにこの他の部分も、VBScriptで作成しています。
今日中に仕上げなければならないので、困っています。
よろしくお願いします。
お礼
edp3142様、ご回答ありがとうございます。 edp3142様の仰るとおり、どちらで処理されているかの理解が 出来ていなかったようです。 私の書いたコードは確かに<% ~ %>の中に書いており、サーバ側で 処理させておりましたが、私がやりたいことはクライアント側で 処理させるべきだったとご指摘いただいて気付きました…。 いただきましたサンプルも大変勉強になりました。 本当にありがとうございました。