やりたいことは、クライアント側からの簡単なキーワード(例:1192)の入力に対して、サーバーマシンが受け取ったデータを適当にVBAを使って加工して(これをCGIやJavaScriptで表現するのは難しいので、VBAで。)、それをレスポンス(例:鎌倉幕府)にして送り返すだけというものです。
クライアント側には特別なものをインストールしたくないので、ブラウザで簡素なレスポンス画面兼入力画面が表現できればそれでよいです(結果テキスト1行+入力ボックス+送信ボタン)。
質問はコメント欄に示します。
お力お貸しください。よろしくお願いします。
perl であれば、
データは
キーワード[TAB]レスポンスデータ[改行]
となってるものと仮定した例です。
#/usr/bin/perl
use strict;
use CGI;
my $in = new CGI;
my $inputkey = $in->param('keyword');
open(INFH, '<', 'data.csv');
while(my $line = <INFH>){
chomp $line;
my ($keyword, $keydata) = split(/\t/, $line);
if($inputkey eq $keyword){
print $keydata; # 見つかったデータを返す
last; # もう探す必要が無いので終了
}
print ''; # 見つからなかったので空を返す
}
close(INFH);
こんな感じで大体完成です。
キーワードが何回呼ばれたかなどのアクセス解析をするならもっと必要ですが、
キーワードに対してレスポンスを返すだけで、エラー処理を加えなければこれだけで済みます。
HTML を返す場合は
print $keydata;
の行で HTML を返せば OK です。
ちなみに、Apache や IIS などのサーバーを導入せずにネットワークでレスポンスを返すには、
ネットワークを勉強しなくてはなりません。
要はサーバーソフトを作ることになります。
大前提として、VBAだけではWebアプリを記述することはできません。VB.Netなどで記述する必要があります。
Q1:VB.Netプログラムが動作するマシンをWebサーバにする必要があります。つまり、IISが必要ということです。
レスポンスタイムは、マシン性能、ネットワークトラフィック、プログラムの記述の仕方によって変わってくるので、何とも言えません。
ありがとうございます。
うーん・・データだけサーバーのように受けてCSVとかに蓄積しといて、動作だけCSVから取り出したデータでもって普通のPCのようにVBAを動かして、またCSVに格納・・・とかってできないですかね?要は、リアルタイムでCSVの内容に関連してWebページが動作できれば良いのですが・・・。
perl であれば、
データは
キーワード[TAB]レスポンスデータ[改行]
となってるものと仮定した例です。
#/usr/bin/perl
use strict;
use CGI;
my $in = new CGI;
my $inputkey = $in->param('keyword');
open(INFH, '<', 'data.csv');
while(my $line = <INFH>){
chomp $line;
my ($keyword, $keydata) = split(/\t/, $line);
if($inputkey eq $keyword){
print $keydata; # 見つかったデータを返す
last; # もう探す必要が無いので終了
}
print ''; # 見つからなかったので空を返す
}
close(INFH);
こんな感じで大体完成です。
キーワードが何回呼ばれたかなどのアクセス解析をするならもっと必要ですが、
キーワードに対してレスポンスを返すだけで、エラー処理を加えなければこれだけで済みます。
HTML を返す場合は
print $keydata;
の行で HTML を返せば OK です。
ちなみに、Apache や IIS などのサーバーを導入せずにネットワークでレスポンスを返すには、
ネットワークを勉強しなくてはなりません。
要はサーバーソフトを作ることになります。
ありがとうございます。具体的なプログラムまで記述して下さって、大変参考になりました。プログラムは、サーバーがCSVからデータを探ってきて返すというものでしょうか。尚、CSVが更新された際にもWebページ閲覧者がそれを知るということを希望しています。質問があいまいだったのですが、少し具体化してきたので http://q.hatena.ne.jp/1285596171 の回答4の返信にもやりたいことを書いておきました。
今後はこちらの質問に統合したいと思います。ありがとうございました!
ありがとうございます。具体的なプログラムまで記述して下さって、大変参考になりました。プログラムは、サーバーがCSVからデータを探ってきて返すというものでしょうか。尚、CSVが更新された際にもWebページ閲覧者がそれを知るということを希望しています。質問があいまいだったのですが、少し具体化してきたので http://q.hatena.ne.jp/1285596171 の回答4の返信にもやりたいことを書いておきました。
今後はこちらの質問に統合したいと思います。ありがとうございました!