サイト管理者の独り言など

このページは管理者の好き勝手なボヤキや備忘録など、あまりサイトポリシーとは関係のない内容になっています。とっとと「戻る」メニューで脱出して下さい。

10年以上かけて、VBAにたどり着くとは

更新 遅いんですけど

週末しかPC触れない上に、このサイトでメインとなるハズのHTMLやVBAなんかは実は全部独学で、誰に相談していいかも分らないもんだから、行き詰るとデッドエンドからなかなか抜け出せないし、更新はかなりのスローペースになることが予想されます。

更新履歴で立上げに要した期間を見れば、遅筆(っていう表現が正しいのか?)なのは明らかですし、更新に長い期間かかっている部分は「何かてこずっている」のが想像付いちゃいますよね。気長に見守ってもらうってのは....都合良過ぎですか。

16進数、要らないっスね

HTMLも一種のプログラム言語、なのかなっと思いながらページ作成していきながら感じたのは、2進数とか16進数とかって、もう必要ない状態ですよね。低級言語では必須、いやそれどころか、ハンドアセンブルや機械語モニタのレベルでは“常識”だったのに、ハイパーテキスト記述でもgifエディットでも「キーボード叩く時には頭ん中16進数」なクセが、かえってジャマ臭いくらい。コンピュータなんてあくまでコンピュータ、とやや軽く見ていた立場からすると、このページで展開しようとしているハイパーテキストとかVBAマクロとかって、全然別次元な印象です。

それでも16進グセが抜け切らないせいで、このサイトも基本幅が800ピクセルだったり、gifグラデーションが8飛びだったりはしていて、ま、それはそれでイイかなって感じではありますケド ———

用語が全然分んない

VBAでの最初の壁は“プロパティ”と“メソッド”でした。こんなレベルで混乱していたなんてバレると、今バリバリでPCを使いまくっている人たちからは「なんて低レベル....」とバカにされそうですが、事実なので仕方ありません。反対に“ストラテジ”とか“ベクタ”などの用語は今や無用の世界ですね。そもそも日本語変換ソフトのことを“FEP”じゃなくて“IME”と言うそうで、もう何が何だか。

でもアセンブラやってて良かった

とは言うものの、このへんの障壁さえクリアすれば、コンピュータ的な色々な暗黙のお約束は染み付いていることだし、何となくでコーディングしている割にはマトモな結果は得られているという事実。コンピュータを使いこなしたいなら、パソコン教室行く前に原始的なコンピュータを触るのが一番だと思います。ブール代数から始めなさい。

そんな私の疑問。VBAの“ブール型(as Boolean)”は何で16ビットも必要なのでしょうか。2値変数を“フラグ”と呼ぶ人種からすると今のところホトンド意味が分らない。ま、PLC(シーケンサ)みたいなビット操作がメインの計算機ではないとはいえ、8086起源の現行PCなら8ビットの扱いは面倒なことではなく、2値情報に15ビットもの冗長を強要するというのは....きっと何か理由はあるんでしょうが....

なぁんだINTあるじゃん

VBAを始めて2ヶ月くらい、新たに覚えなきゃいけない約束事や、BASICらしくない記述部分に悪戦苦闘している最中、一つの光明が見えました。「なぁんだ“イベント”が“INT”なんだな」と、今にしてみればあったりまえのことに気付いてからは、なんだか習得スピードがアップして、何とか自分で納得できる自動化プログラミングができるようになりました。そういえばWinアプリは“イベントドリブン”なんだし、昔のTSR的なコードの集まりだと考えればいいのかな。

基本ソフトが変わっても、コンピュータ的な「慣わし」が変化するはずもないということを改めて感じたあとは、それほど混乱もなく、Win+BVAに移行できました。メデタシメデタシ。

"難しい"より"メンドくさい"

MOV AL,00h が XOR AL,AL じゃ、ダメですか

ファイルサイズを小さく、実行速度を速く、と、まるで裏ワザ的な扱いのコードでさえ常識だった頃は、プログラミングの“難しさ”が障害になっていた部分はあると思います。私が学生の頃は「プログラマなんて若い人にしかできない。年を取ったら頭が付いていかない」と言われていた記憶があります。それもあってコンピュータ業界での仕事はしない、とメーカーに就職したのですが、どんな会社でもコンピュータが必須となり、プログラミング環境が進化しているのを実感した今では、プログラムっていうのは“難しい”んじゃなくて“メンドくさい”の領域に入っているんだなぁと感じています。

まず開発環境が違う。以前はMASMにしても、QC、QBやVBなどでも、プログラミング言語を、「お金を出して」買っていたワケですが、今やExcelにVBAが(リッパなヘルプやデバッガ込みで)付いてくる。しかもExcelだってプレインストールのPCなら始めから入っているという時代。書店に行けばそれほど苦労して探さなくても、親切な解説書が買える。それでもプログラミングしないのは“メンドくさい”からなんでしょうね。

“難しい”と言われる世界なら個人の才能や資質によって成否が分かれるのでしょうが、“メンドくさい”のレベルなら、たいした専門教育を受けていない自分でも、努力次第で何とかなるかな、と少ない時間を割いた情報発信に手を出してみようという気になったワケです。

デバッグ機能の有難さ

ハンドアセンブルの時代は、プログラムの不備がそのまま「暴走」に直結でした。エバ初号機が勝手に動いちゃう、あの「暴走」です。しかしコンピュータの暴走はたいていの場合、「遮二無に敵を攻撃する暴走」なんて目的を持ったカワイイものではなく、単なるフリーズってことが多く、OSから再起動しなければならないという、コンピュータウイルス並にやっかいな暴走です。しかも何が悪くて暴走したのか、その原因追及に多大な時間を要するタチの悪い代物でした。

購入するようなプログラミング言語となると、デバッグ機能が付いてきます。これが不具合の原因を見付ける上でとても便利です。インタプリタならエラー検出を自動で行ってくれたりします。それが今やオマケ扱いと言ってもいいレベルで手に入るなんて、コンピュータの進化はとてつもないですね。

“メンドくさい”の克服

まるで時代が私に「コンピュータ本気で取組めよ」と言っているようにすら感じます。何で今までノーチェックだったんだろう、と後悔さえしています。とにかく“メンドくさい”にさえ打勝てば、自分にもプログラマの真似事くらいはできそうでな気がします。ちょっくらホームページでも立上げてみようか、と考えるようになりました。もともと文章を書くことは嫌いではないので、文書記述は問題ありません。過去のプログラミング経験のおかげか、HTLMタグの習得は比較的簡単でした。JAVAscriptに手を出さない限り、if文みたいな制御構造とはしばしのお別れですが、その分VBAに没頭できます。

プラットホームが変わろうとも、コンピュータ上で動くプログラムであることに変わりはなく、HTMLでさえも16進数的な動きは絶滅してはおらず、ネスティング構造や上書優先などの基本ルールもそのままのようで、今では「HTMLくらい書けなきゃね」なんて思ったりもしています(ビギナーのクセにちょっとタカビー)。

備忘録残してみよう

さて、本格的にVBAに取組み始めると色々と欲が出てきて、市販書籍やヘルプ、Web検索なんかを駆使しながら少しずつテクを身に付けていったのですが、何せVBAってシステムは膨大なもので、時間が経つと参考になる情報ソースがどこにあったかも頭の中からスっ飛んでしまいます(トシですねぇ)。

そこでこのサイト内にVBA関連の記載を、という運びになりました。順次追記していきます。

お絵かきロジックアナライザ開発記 ▲ ページトップ