VBScript」タグアーカイブ

VBScript では Const 定義した整数値を、そのまま変数宣言の配列数として直接はセットできない

要するに、

Dim aryHogeHoge(15)

これはできるのに、

Const ARRAY_POINT 15
Dim aryHogeHoge(ARRAY_POINT)

これができない。

Microsoft VBScript コンパイル エラー: 整数型の定数がありません。

って怒られます。

Const ARRAY_POINT 15
Dim aryHogeHoge()
ReDim aryHogeHoge(ARRAY_POINT)

とかにしなくてはいけません。
つまり「面倒くさい」という話。

ASP(Active Server Pages)について

よく他人から「なんでASP使ってるの?」という質問(詰問?)をよく受けます。
もちろん、昔からセキュリティ面を中心に色々と問題や不具合が多いという指摘は、私もよく知っています。

では、なぜ使うのか。理由は2つあります。

顧客が ASP ベースのアプリケーションを既に導入し、それが顧客のシステム部門で「板」についている

今さら「Linix に替えろ」とか、「Perl とか PHP にしろ」なんて、所詮部外者が言える立場にありません。
当然、顧客の会社内部では現時点までにかけた費用もあるし、顧客のシステム部門には ASP に特化した技術者を抱えている場合も多いと思います。
それらを全部ではないにしろ、かなりの部分を放棄する可能性のあるような判断はそうそう下せるものではありません。

もちろんセキュリティ面でのリスクがあると思いますが、会社というのはセキュリティ面だけの理由で新しいシステムに入れ替えるのは、利にかなう部分がかなり少ない以上、非常に難しいのです。

じゃあ、「今後入れるシステムから別のシステムにする」という考え方もありますが、これだってかなり難しいです。
要するに既存のシステムとは別のシステムを面倒を見なくてはならないわけですから、維持・保守に費用がかかります。

こんなジレンマに陥っている会社は「ざら」です。
もちろんそんな中で働く我々、外注システム屋は、顧客に対し助言や提案はします。
でも結局のところ、顧客のニーズに合った形で製品やサービスを提供していくのが我々の職分だと思いますし、その限られた領域の中で色々なものを提供するのが、よいシステム屋だと思います。

Windows に搭載されている標準 Web サービススクリプトだから

もちろんASP(つか VBScript)は非常に手間のかかる言語であるのは解っていますが、DB などへの接続まわりや、BASP など手間のかかる部分に対して補完してくれるようなコンポーネントがあります。
特性さえ理解していれば、不自由を感じることはあるかもしれませんが不可能な場面はそうそう出くわすことはないと思っています。(いざとなれば、Perl 呼べばいいんですしね。)

それに Perl と同じで、比較的敷居が低い言語であれば、OS つまり Windows に近い言語を選ぶのは、極めて理にかなった話ではないでしょうか。

もちろん、セキュリティ面で問題を抱えることが多い言語はありますが、セキュリティ面をよく考えてプログラミングをしなくてはならないのは、他の言語だって同じだと思います。
Micorosot も、Session の利用非推奨など当初から方針を変えた箇所については提示していますし、セキュリティ対策も進んでいます。そんなに悪いサポートはしていないと思います。

そんな中、個人的には ASP の技術系サイトが閉鎖されることが、とても残念です。
確かに内容の陳腐化は避けられないかもしれませんが、別に間違った事を書いているわけではなかったと思うので、残しておいてもらっても良いのではないかと思ったりします。

巷では ASP.NET が出始めています。ただ個人的には ASP はまだまだ使われると思います。
ASP.NET には、開発パッケージの問題(効率的な開発には開発パッケージの製品購入が必要不可欠)と Windows Server 2003 の購入(ASP.NET を動かすには必要不可欠)が要求されます。
そして何より ASP.NET そのものが、言語としての敷居が高いです。

非常にスクリプトライクな ASP が Windows Server 2003 で動く以上、変更する理由がまったくないのも事実ですし。

…なんだか非常に ASP を擁護するような書き方になってしまいましたが、別に Perl よりも勝っているとかそういう話ではありませんので。私だって Perl は使いますし。
あくまで「いち技術者」として ASP の個人的な感想ですよ。

ASP、VBA、VBScript(VisualBasicScript/Visual Basic for Applications)、VB(Visual Basic)、WSH(Windows Script Host)

  • ASP 講座?(K’s Nonfiction)(閉鎖)
  • Hiro’s ASP PagesHiro’s California Life)(閉鎖)
  • ASP VB Script プログラミング言語資料(SAK Streets)(閉鎖)
  • VBScript のコード記述規則(msdn)(記事削除)

AccessVBA 向け。VBScript の文法や関数については ASP でも参考になります。内容もわかりやすくて、おすすめ。

  • 7Access_VBA 講座(閉鎖)
  • Access Knowhow (閉鎖)←大量のサンプルコード集があり
  • VBAで宣言される変数の型一覧Access Tips Etc.)(閉鎖)

こちらはフォームの制御をベースにした説明。

ExcelVBA

  • Office TANAKA
  • Shun’s Page(リンク切れ)
  • Aquira’s Excel-VBA Memorandum(閉鎖)
  • Excel VBA 入門講座
  • Let’s Excel VBA(PC-Rescue AWA)(閉鎖)
  • 印刷のテクニック EXCEL編 VBAでページ設定2(123大好き)(閉鎖)

ASP の Tips集

上からおすすめ順。

  • ASPの小技(unibon)(閉鎖)
  • Tips of ASP・VB・Excel(Web Artisan Blog)(閉鎖)
  • いーんです! Active Server Pages(ASP)(閉鎖)
  • TRY! ASP(閉鎖)
  • ASP(TechnicalNote)(閉鎖)
  • ASP Tips河端善博)(閉鎖)

ADO の解説

ほかのページには、認証まわりや IIS-DB 接続コンポーネントなどもある。

  • ASP 実践(あさみ~ご)(閉鎖)
  • VB でデータベース(閉鎖)
  • ADO の最適化Timber Land Chapel)(閉鎖)
  • ASP から SQL Server のストアド プロシージャを呼び出す方法(Microsoftサポートオンライン)(記事削除)
  • ASP → ストアドプロシージャ(閉鎖)
  • CreateParameter メソッド (Microsoft Active Server Pages マニュアル)(閉鎖)
  • Type プロパティ(Microsoft Active Server Pages マニュアル)(閉鎖)
  • VB でストアドの戻りパラメータを受け取る方法OKWave

エラーハンドリング、IIS-SMTP を使用したメール送信、XML、他サイトのコンテンツを ASP で取得する方法など、Tips 的解説。

VBScript で画像ファイルの画像の大きさを取得する

  • VBScript で画像ファイルの画像の大きさを取得する(unibon)(閉鎖)

WSH(Windows Script Host)

BASP21

セキュリティ関係

ASPのセキュリティ漏洩の指摘とその対策についての解説。ちょっと記事が古いけど、別に間違った事が書いてあるわけではないので参考にすべき。

  • セキュア Web プログラミング ASP 編 Part2(TRUSNET)(閉鎖)

セッションについての暗号化と認証について。

VisualBasic

  • KEN’s(閉鎖)
  • VB6.0Timber Land Chapel)(閉鎖)
  • ByVal と ByRefCavalierLab)(閉鎖)

リンク集

  • ActiveServerPagesITNAVI.com
  • ASP(くっすんの最強リンク集)(閉鎖)
  • ADO(くっすんの最強リンク集)(閉鎖)