MS Officeで役立つVBAの技:これだけは覚えとけ!
翻訳校正:村上雅章・野崎裕子
ユーザー部門に対してVBAの教育を行うことで、彼ら自身でちょっとした業務の自動化を行えるようになり、IT部門とユーザー部門の両者にメリットがもたらされる。本記事ではそういった教育に欠かせないコーディング上のベストプラクティスを解説している。
ユーザーを教育し、彼ら自身でちょっとしたコーディングを行えるようにすることで、彼らからの開発要求を減らすことができるようになるだろう。Visual Basic for Applications(VBA)は学習の容易なプログラミング言語であるため、コーティング経験のないユーザーに教える言語としてお勧めだ。また、VBAを用いることで作業を自動化したり、Microsoft Officeの通常の機能では実現できないようなことも実現できるようになる。
以下は、効率の高いVBAコードを記述できるレベルにまでユーザーを導いていこうという場合に力を入れておくべき、プログラミング上の7つのベストプラクティスである。
Option Explicitステートメントを各モジュールに追加する
熟練開発者であったとしても、ちょっとしたタイプミスをやらかしてしまうことがあるはずだ。こういったことを技術的に避けるには、各モジュールにOption Explicitステートメントを追加することだ。
Option Explicitステートメントを用いることで、VBAは参照されている変数が実際に宣言されていることを確認するようになる。これについては、ちょっとした例を挙げることでユーザに示すことができる。VBAは、宣言されていない変数を発見すると、図Aに示すように、非常に明確なかたちでその問題を指摘する。つまり、変数をハイライトさせ、何が悪いのかを具体的に告げてくれるのだ。この例では、参照されている変数名のスペルが誤っている(宣言はImgCounterであるものの、参照はIgmCounterになっている)。
Option Explicitステートメントを用いることで、宣言されていない変数を、問題が引き起こされる前に発見することができる
Option Explicitステートメントを指定していなければ、この関数が期待した結果を返してこなかったとしても、ユーザーは問題を特定できない可能性がある。また、さらに悪いことに、ユーザーは過ちがあることにすら気付かない可能性もある。図Bに示すように、Option Explicitステートメントをコメントにすると、VBAはおかしな値を返すようになる。この場合、Long型のデフォルト値は0であるため、結果が0となっている。この手の過ちは、熟練開発者であっても見つけにくいものなのだ。
Option Explicitステートメントをコメントにした場合、予想されている読者の方もいるように、宣言されていない変数があるというエラーは返ってこないようになる
Microsoft Office 97以降、Option Explicitステートメントはデフォルトで有効となっている。この機能が無効にされている場合、以下の手順で有効にすることができる。
- Visual Basic Editor(VBE)の[ツール]メニューから[オプションを]選択する
- [編集]タブをクリックする
- 「コードの設定」セクションにある[変数の宣言を強制する]をチェックする
- [OK]をクリックする
ユーザーに対しては、誤ったデータや、デバッグしにくいタイプミスを防ぐためのOpen Explicitの使用方法とともに、Option Explicitを有効化しておくように教えておこう。
- 10人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(1)
- 今日のトップ記事
- 昨日
- 5日前
- 6日前
- 7日前
- ホワイトペーパー
- 話題のタグ
「Google Chrome」の拡張機能、開発者からのアップロード受付を開始
IMAPでGmailを受信、最も手っ取り早いのは?Windows 7、Ubuntu 9.10、Snow Leopardのメーラー比較
Snow LeopardではNTFSをサポート--その源流を訪ねる(2)
MS運営のオープンソース開発プロジェクト支援サイト「CodePlex」を探検する(2)
Snow LeopardではNTFSをサポート--その源流を訪ねる(1)
フォトレポート:「Windows Server 2008 R2」--あまり知られていない有用な機能10選
企業ITシステムの企画、構築、運用のイロハ
【最終警告】パンデミック対策特集
―エン・ジャパン厳選求人☆毎週更新―
大丈夫?あなたの会社のセキュリティ対策
100万円で実現!中小企業の情報漏えい対策
電力に"ふた"をする独自の省エネ機能とは!?
高まるiSCSIストレージへの注目度