[ページTOPへ戻る]<And演算子を使う>こんにちは、三流プログラマーのKen3です。読者から軽くメールもらったので、ネタにしてみます。拾い読みして、何かの参考となれば幸いです。三流だとAnd演算子も知らない?ありえねぇ〜---なんて、いつものクレーム?メールをいただきました。本名でクレーム書いて来るって、潔いよね。And演算子を使用してマスクしろって感じなんだろうなぁ。上のビットを残し、下のビットを消すなんてことが出来るんですね。みたいに書くことができます。FF00でAndして、判断するのもひとつの手なんですよ。And演算子、頭のスミに入れて置いてください。&HFF00バージョンの確認ができます。※同じく動作することを確認してみてください。And演算子の簡単な説明でした。最近、ビット演算、、する機会、、、無いなぁとフト思いました。気軽に書き込んでください。ASP、VBScript勉強中の三流プログラマーのKen3でした。[ページTOPへ戻る]<Excel(*.xls)とADOで接続、.Addnewしてみた>こんにちは、三流プログラマーのKen3です。値とデータをセットして、.Updateで更新と普通に操作してみます。拾い読みして、何かの参考となれば幸いです。読み込みが出来たら、書き込みでしょ、、って流れで、.AddNewでデータを追加してみたいと思います。2.普通にAddNewで出来ないの?*/さてと、下記のような感じで、Excelファイルにアクセスできました。http://www.ken3.org/cgi-bin/test/test053-1.asp参照。'0=adOpenForwardOnlyの0=adOpenForwardOnlyを追加可能なカーソルにすればOKかなぁ。オブジェクトまたはプロバイダは要求された操作を実行できません。更新可能なクエリであることが必要です。えっ、なんで、、、更新可能じゃないの???う〜ん。3.接続できたら、あとは簡単と豪語してたのに(笑)*/接続できたら、あとは追加・更新・削除は簡単と豪語してたのに(笑)やばいなぁ。得意の人様のHPを観察して、パクるか。AccessからADOでExcelを更新するページ見ても、できてるよなぁ普通に使って。英語のページに紛れ込んだ。4.0英語、読めないんだけど(情けないことに中学生以下じゃないたぶん(笑))おっ、と思うソースが目に飛び込んできた。Sub英語、読めなくても、ソースって意外と読めるもんなんですよね。自分のソースとの違いを見る。レコードセットを開いて、.Addnewしてる。英語わからない、私でも、これって?サーバーの指定?かもと予想。訪問者の時刻、IPアドレス、端末情報を保存するサンプルを作ってみました。↑みたいに作成しました。.AddNewでレコードを追加する。アクセスすると、ログ情報をtest056.xlsに書き込みます。データが追加されていることを確認してみてください。英語読めないのに、ソースは読める不思議な自分に気がついて、変な気分。そんな処理の参考となれば幸いです。気軽に書き込んでください。ASP、VBScript勉強中の三流プログラマーのKen3でした。[ページTOPへ戻る]<Excelグラフ付の雛形シートにASPからADOを使用してデータセット>こんにちは、三流プログラマーのKen3です。今回は、グラフ付のExcelファイルとADOで接続後、データをセット(更新)そのExcelファイルをダウンロードさせます。拾い読みして、何かの参考となれば幸いです。Excel(*.xls)とADOで接続、.Addnewしてみたhttp://www.ken3.org/backno/backno_asp12.html#56で、Excelの表にデータを追加することが出来ました。したら、今度は更新でしょうってことで、一週間分のログを日別に集計して、Excelの表を更新してみます。普通の表だと面白みに欠けるので、グラフ付のExcelファイルに書き込んでみます。2001/1/6602001/1/7702001/1/880作成イメージは↑みたいに作成しました。みたいに指定してみたいと思います。'YYYYMMDD')を使用して、日付別に集計します。集計値を配列に入れて、それをエクセルにセットする方法を取ります。動作したソース載せちゃうけど、http://www.ken3.org/cgi-bin/test/test057-1.aspでテスト可能です。ポイントの解説は下のほう見てください。-->test057-1.asp<br>ASPからADOを使用してExcel(*.xls)と接続して、<br>.Updateでレコードを更新する。'配列変数に集計値をまず入れます。8.0"接続までは、スムーズでした。いつものようにハマったのは、データエリアの指定です。[DATA$A1:B9]で指定すると、シートの範囲をレコードセットにできます。調べるのかよ(笑)http://www.microsoft.com/japan/msdn/columns/office/office10052000.aspがMSのページです。※よかった日本語だよ。えっと、この3種類が使えるなら、DATA$A2:B9でいいのか、この位置に$は違和感あるけど、仕様なんでしょう。!はエクセルのセル上の慣れてる書き方だったか。adLockOptimisticで勝負。なっているか、または現在のレコードが削除されています。要求された操作には、現在のレコードが必要です。エラー?~~~~~~~~~~~あっ、フィールドかぁ、A2:B9これってデータエリアで、見出しの行含んでないや。これで、フィールド名が取れないのかな、もしかして。adLockOptimisticと見出しの行を含ませたら、やっと動作しました。※意外と単純なミス?でした。えっ、そんなミスするのは三流君だけ???あとは、ループで頭から配列変数からフィールドにデータをセット、その後、.Updateで更新しました。メソッドでレコード確定の流れじゃないのね。オブジェクトでサポートされていないプロパティまたはメソッドです。.Editってメソッドは無いです。簡単な処理でもハマりました。私の失敗談が、ASPからADOを使用して、Excelファイルに書き込むそんな処理の参考となれば幸いです。今回のグラフ付雛形シートにデータセット、http://www.ken3.org/cgi-bin/test/test057-1.aspでテスト可能です。http://www.ken3.org/cgi-bin/bbs/asp/wforum.cgiに気軽に書き込んでください。ASP、VBScript勉強中の三流プログラマーのKen3でした。[ページTOPへ戻る]<復習、#Include,FileSystemObject,乱数ランダム>こんにちは、三流プログラマーのKen3です。乱数でランダムな数値を発生なんて感じのネタをやってみたいと思います。拾い読みして、何かの参考となれば幸いです。1.今回のキッカケ*/テキスト広告のローテーションを作ってみたくて(笑)いろいろと試行錯誤した結果を兼ねて、ASP系のネタにしてみました。%>でスクリプトを埋め込んでます。%>まぁ、書き方のキレイさ(見易さなど)位置によっていろいろとあるのですが、こんな感じです。大体、HPを作成する時、構成を決めます。リンクを書く人や小金稼ぎのバナー広告----まぁ、わかりやすく、こんな構成だとします。すると、上部のHTMLと下部のHTMLは変わらないんですね。ひとつの方法は、雛形のHTMLファイルを作っておいて、それを別名でコピーして修正する、そんな方法です。新しいカテゴリできたので、タイトルにリンクを増やしたい・・・と共通だったはずのヘッダ、フッダを修正する時があります。そんな時に便利な方法が、#Includeを使ってASPを作る方法です。-->と外部から挿入したいファイルを書くだけです。実行時に読み込まれるので、表示内容を変更することが出来ます。http://www.ken3.org/cgi-bin/test/test058-1.aspでテストできます。イメージを確認してください。使うと、実行時にファイルを挿入可能なことがわかりました。一歩進んだ要求だと(そんな要求私だけかもしれないけど)ランダムでバナー広告を切り替えて表示したい。切り替えてインクルードしてみたいです。見つかりませんでした。見つかりませんでした。できないのかなぁ、まぁ、インクルードファイルが動的に切り替わる、、なんて用途ないしね。Nothing%>と素直に、テキストファイルを開いて1行読み込み、出力しました。http://www.ken3.org/cgi-bin/test/test058-2.aspでテストできます。イメージを確認してください。'ファイル名を作るでファイル名を作ったら、しかたなく自分でFileSystemObjectを生成して、.ReadLineで一行読み込む、.AtEndOfStreamでファイルの終端チェックでした。簡単な処理でもハマりました。広告、切り替えても押されないよ(笑)http://www.ken3.org/cgi-bin/test/test058-1.asphttp://www.ken3.org/cgi-bin/test/test058-2.aspでテスト可能です。何かの参考となれば幸いです。http://www.ken3.org/cgi-bin/bbs/asp/wforum.cgiに気軽に書き込んでください。ASP、VBScript勉強中の三流プログラマーのKen3でした。[ページTOPへ戻る]<結果をExcelで返すならresponse.ContentType=application/vnd.ms-excel>こんにちは、三流プログラマーのKen3です。trueresponse.flushresponse.endなんてサンプル拾ってきたので、ネタにしてみたいと思います。拾い読みして、何かの参考となれば幸いです。他に方法無いか?模索中です。したら、マイクロソフトのHPから、おっ?と思うサンプルを拾う。2.拾ったサンプル*/http://msdn.microsoft.com/library/en-us/dnwebteam/html/webteam07032000.aspちっ、ここも英語かよ、日本語のサンプルは無いの?それとも日本語化される前に、ASP.NETになっちゃったの?なんて前置きは置いといて、いつもの台詞で、英語読めないけどプログラムソースはなぜか読めるそんな三流プログラマーが下記のソースを拾ってきた。filename=dynamic.xls"とExcel処理の匂いがプンプン。夏の女性の匂いに引き付けられないで、サンプルの匂いに魅かれてちゃダメだよ。width=40><b>=sum(A1:D1)</b></td>"と、セルの集計関数の=Sumを使っている場所。結果をASPからExcelで返す時、いろいろと使えるのでは?で、上記ソースをまるごとコピーして、実行してみました。http://www.ken3.org/cgi-bin/test/test059-1.aspで実行できます。すると、いつものxlsファイルを開く、保存の警告メッセージ。開くを選択して、開いてみると、=SUMの計算式が埋まっていた。拾ったサンプルを自分のものにするために、わからないことを探りますか。ASPの処理を中止し、現在までの結果を返すのかぁ。関連項目として、今回出てこなかったけど、response.clearってのがあって、バッファに格納された出力をクリアすることが出来ます。このクリアを使って、エラーが発生したら、途中までの出力を消して、エラーのメッセージ画面を表示することも出来そうです。trueは、<Html>などの出力の前に行うことです。出力のバッファだから、一番最初にやれってことね。"application/vnd.ms-excel"これは、今から送るデータのタイプは、"application/vnd.ms-excel"ですよ、とブラウザに教えるために書きます。"imge/gif"など、指定します。文字データだけじゃなくて、ASPでいろいろと出来るんだね、、と感じた。動作や.AddHeaderから判断すると、ヘッダ情報にファイル名を載せている感じです。width=40><b>=sum(A1:D1)</b></td>"ここが一番感動した、=Sumとワークシート関数を入れている部分です。普通にテーブルイメージなんですね。response.endASP終了って流れでした。width=40><b>=sum(A1:D1)</b></td>"と関数も使用可能って話でした何かの参考となれば幸いです。http://www.ken3.org/cgi-bin/bbs/asp/wforum.cgiに気軽に書き込んでください。ASP、VBScript勉強中の三流プログラマーのKen3でした。リンクや広告、質問送信など三流解説を読んでいただき、どうもです。三流君のホームページの紹介・案内です目的の情報が見つかったか?少々心配しつつ、、、※質問や感想は、気軽に送ってくださいね。基本はデータの受け取りかなぁ。・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。テキストを読み出した。・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽くVBScriptでFormat関数が無いなど、微妙にVBAと違うけど[VBScript関数関係の説明]・・・少し、処理を書いてみた。[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。何かの参考となれば幸いです。Setup]・・・ポイントの無い、ほぼ一本道解説だけど。仮想ディレクトの作成とASP動作TEST]・・・Web拡張でASPを有効にしただけです。メッセージを送る(三流君に連絡する)質問や要望など連絡方法でお互い確認が取りやすく、便利なのが掲示板なのですが、私の対応のまずさから不定期で荒れてしまい、掲示板は現在封鎖中です。三流君へメッセージを送る。時間的余裕のある要望・質問・苦情の場合は、下記のフォームからメッセージを送ることができます。メッセージはHPで記事に載せることがあります。)急ぎで連絡がほしい、そんな時は:[三流君連絡先アドレス]を見て連絡してください。バックナンバー目次]。