2010年12月28日火曜日

ハンガリアン記法の意外な歴史とその効用

ハンガリアン記法、使ってますか?
そう、例の「intCount」とか「strFirstName」みたいな、変数の先頭になんか付けるヤツです。

自分は昔は使ってましたが、JavaScript をいじるようになってから (だいたいディスカバ開設の頃ですかね) その影響で徐々に使わなくなって、今はほとんど使わず…という感じです。ただ、なんで使わなくなったのかというのが今まで自分でもよく分からなかったのです。コントロールには依然として接頭辞使ったりもしているので、一貫した理論を主張しにくい感じで、感覚的なものなのかなぁ、というのが正直な感想でした。

で、その理由が今日判明しました。

2010年12月8日水曜日

UserControl プロパティの謎

最近、次のような Excel オートメーションのコードを見かけました(一部抜粋)。

'Only XL 97 supports UserControl Property
On Error Resume Next
oApp.UserControl = True

あれ? と思った方、きっと私以外にもいますよね。
そう、UserControl プロパティは Excel 2000 以降でもふつうにサポートされているので、上のコードは必然性がよく分からないのです。コメントも間違っているように見えますし。

2010年12月4日土曜日

リソース 3 分ハッキング - 参照設定ダイアログ編

前回は Access 本体の "印刷中" ダイアログを改造しました。
今回は、VBE の参照設定ダイアログに挑戦します。

改造前。



リストビューが小さくて使いづらい上に、場所欄のパスが切れてしまって肝心のライブラリ名が分かりません。

一方、改造後。



リストビューが広くなりました。見やすいです。さらに、場所欄のパスが一行に収まりきらない場合は、折り返してすべて表示されるようにしました。

2010年11月29日月曜日

リソース 3 分ハッキング - "印刷中" ダイアログ抑止編

最近 レポート印刷時の "印刷中" ダイアログを抑止する方法という記事を書きました。
記事の概要に書いているように、その記事は某 SNS での回答を元にしています。で、記事ではダイアログ フックによる方法を説明していますが、元スレでは当初、別の方法も提案していました。そちらは汎用性に欠けるので記事には載せませんでしたが、せっかくなのでこのブログの方で取り上げることにします。

2010年11月19日金曜日

Access VBA ユーザなら知っておきたいキーボード ショートカット 10 選

Access VBA ユーザなら知っておきたいキーボード ショートカットを、独断と偏見で 10 個 選んでみました。
知らないとモグリという常識レベルのものから、知る人ぞ知る玄人レベルのものまで、幅広くチョイスしています。中にはショートカットじゃないものも含まれていますが、知っていると役に立つ、という観点から採用しています。

なお、ショートカットのピックアップには雅さんにもご協力いただきました。ありがとうございました。

2010年11月18日木曜日

外国語が文字化けしている VBA コードを読むには

外国語環境で作成されたファイルを日本語版 Access で開くと、VBA コード中の外国語が文字化けすることがあります。
英語なんかは大丈夫ですが、ウムラウトを含むヨーロッパ言語とか中国語などのアジア系言語はかなりの確率で、化けます。


これを、とりあえず文字化けせずに読む方法。

2010年11月17日水曜日

ダブルクリックしたデータファイルのパスを渡すには

次のような要件があるとします。
拡張子 .orz のデータファイルをダブルクリックすると、特定 MDB を起動させて、そのデータファイルを処理させたい。
拡張子 .orz は既存の拡張子とカブっていない、また特定 MDB のパスは固定であるものとします。
方法としては、拡張子の関連付けで、特定 MDB を起動させます。
またその際に、ダブルクリックされたファイルのフルパスを cmd スイッチに渡すようにします。cmd スイッチに渡された値は、VBA で Command 関数経由で参照できます。

Access のコマンド ライン スイッチ - Access - Microsoft Office
Command 関数 - Access - Microsoft Office

以下、詳細。