やっぱりVBが好き。
さて今月のお題「萌えテクノロジ」の勝手に第2弾です。『プログラマで、生きている』のひでみ氏はC++に萌えるとのことですが、ぼくはVB(Microsoft Visual Basicの略、以下同)に萌える。VBが好きと言うと1段どころか2段以上低く見られてしまいがちですが、それでもVBが好き、と。三つ子の魂ではないけれど、社会人になって初めて触ったのもVB(当時はVisual Basic 4.0)でしたし、初めて触れたのも何かのBasic言語。コードを見ると「やぁ、また会ったね」といったところ。イコールはあくまで「=」であり、「==」でもなければ「equals」でもない。
そして、VBからASP(Active Server Pagesの略)に移ったぼくにとっては、VBScriptも慣れた存在。
わりと最近の話。Webの更新チェックをしたくて適当なソフトを探して試していたのですが、見つからず、「じゃあ作るか……」となりました。最近では「えっ! けいいちっくプログラム書けるの?」と言われますが、そこは昔取ったきねづか、テキストエディタを開いてちょこちょこ書きます。IDEがいらないこの手軽さが好き。Windows系アプリの操作には最適だと思う。Web更新チェックということで、IEオブジェクトを操作します。儀式としてのOption Explicit ステートメントをファイル先頭で宣言して、いったん深呼吸。
今回はCDO(Microsoft Collaboration Data Objectsの略、Mはどこに行った?)をメール送信に初めて使ってみました。
Set oMsg = CreateObject("CDO.Message")/pre>
見よう見まねでしたが、意外に簡単にできてびっくり。SMTP認証も対応。
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = true
書き終えた後に BASP21という手もあったな、と思ってしまうのはご愛嬌(あいきょう)。時すでに遅し。
Web文字列の更新チェックということで、正規表現オブジェクトも使いました。確か、このオブジェクトは後から搭載された気がする。ぼく的には苦手な正規表現。何とかひと山越えた後で、昔に書いたスクリプトを何気なく取り出してみる。結構細かい正規表現しているな、誰? と思うまでもなく自分が書いたそれ。うん、劣化しているなおれ、と突っ込む。
INPUTタグのname属性にハイフン「-」があるんだけど、どうやってエスケープするんっけ? と小一時間悩みながら。結局あきらめ配列で扱ってしまった。
objIE.Document.Forms(1).email.value = "hogehoge@hogehoge"
objIE.Document.Forms(1).Submit
そんなわけで完成した急造更新チェックプログラム、秋の夜長、発泡酒片手の作業でした。「また会おうね、VBS」
世間的にはあまり成功したと言えないらしいVBScriptですが、そしてマイクロソフト的にはWindows PowerShellに移行するらしいですが、しっくりくるのがこの言語です。
こんにちは、けいいちっくです。今回は記念すべき10コラム目。コラムを始めるときの目標の1つが「10本書く」だったので、一応達成。ここまで書いて、自己紹介らしいことを書いていないことに気付いたので、そろそろ自己紹介ネタで1本書こうかと考えています。
コメント
Buzzsaw
私もVB好きですよ~。
新人時代に最初に触れた言語でもあるし、一番本気で悩みながら(ADOって
何?DAOって何?Recordsetって何?みたいな)身に付けたものでもあるので、
思い出深いです。
とはいえ、ちょこっとした作業でVBSやらVBAやら今でもバリバリ使うので
私にとっては現役(?)のテクノロジーです。
Buzzsawさんコメントありがと。
DAOにせよ、ADOにせよ、よく使いました。
違いは既に忘れてしまいましたが。
rs=なんとかってレコードセットとって、eofまで回すみたいな、
をよくやりました。懐かしいです。
超亀レスでした。