Accessむかむか - Access VBA TIPS Microsoft Access 開発支援サイト

APIについて

はじめに

 Win32APIを使うといろいろな事ができます。
 業務では、必ず使わなくてはならない局面がきっと来るはずです。
 使えるようになると、今まで以上にプログラミングが面白くなると思います。
 こんなことを書いているけど、へっぽこなのでいまいち分かっていません。(爆)

私はこんな感じでAPIと仲良くなってきました

[段階1]
 ネットでサンプルを見つけてそのまま利用する。


[段階2]
 サンプルをデバッグしながら書き換えてみる。


[段階3]
 いろんなAPIを使いたくなり、サンプルをあさる。


[段階4]
 サンプルだけでは、理解できずMSDNライブラリを眺めるようになる。
 しかしMSDNを見ても良く分からない。


[段階5]
 APIビューワを使うようになり。
 Declare文の宣言をサンプルからコピペする事が減る。
 (注意)APIビューワには載っていないAPIが多数あり、宣言に間違いもあるそうです。


[段階6]
 このころになると、自分でWin32APIのDeclareができればいいなと思う。
 しかし、C/C++の知識がないため悩み多き人生を送ることになる。


[段階7]
 C++の入門書を読む。
 MFCの入門書を読む。理解不可能
 C++のSDKに挑戦する。うーむ..


[段階8]
 Windowsの仕組みに興味を持つ。
 DependencyWalker、SPY++を使ってみるようになる。
 (補足)DependencyWalker、SPY++はVB6付属のDLLの依存関係、
     ハンドル、メッセージが分かる、そんな感じのツールです。


[段階9]
 MSDNをみてもびびらなくなる。
 簡単なAPIのDeclare化はできるようになった気でいる。
 しかしC/C++はできないまま。


[段階10]
 業務でAccess、VB6を使用する事が皆無になる。
 記憶が風化する。

C言語の一般的なデータ型とそれに対応するVisualBasicのデータ型

以下の表を利用すればかなりWin32APIのDeclare化が楽になると思います。

C 言語の宣言 Visual Basic の宣言
ATOM ByVal hoge As Integer
BOOL ByVal hoge As Long
BYTE ByVal hoge As Byte
CHAR ByVal hoge As Byte
COLORREF ByVal hoge As Long
DWORD ByVal hoge As Long
HWND, HDC, HMENU, etc.
(Windows のハンドル)
ByVal hoge As Long
INT, UINT ByVal hoge As Long
LONG ByVal hoge As Long
LPARAM ByVal hoge As Long
LPDWORD hoge As Long
LPINT, LPUINT hoge As Long
LPRECT hoge As type
LPSTR, LPCSTR ByVal hoge As String
LPVOID hoge As Any
(補足)任意の変数。文字列を渡すときは ByVal を使用。
LPWORD hoge As Integer
LRESULT ByVal hoge As Long
NULL As Any or ByVal hoge As Long
(補足)ByVal Nothing、ByVal 0&または vbNullStringを渡す。
SHORT ByVal hoge As Integer
VOID Sub procedure
WORD ByVal hoge As Integer
WPARAM ByVal hoge As Long

その他

関数ポインタ(コールバック関数)
 プロシージャを呼び出すときに指定する関数は、コールバック関数と呼ばれている。
 VBでは「AddressOf」を使用する。


サブクラス化
 フォームまたはコントロールに送られる Windows のメッセージを途中でインターセプトする。
 メッセージをインターセプトすると、独自のコードを記述してオブジェクトの動作を変更または拡張することができる。


Access VBAプログラミング開発工房 入門・基礎編
緒方 典子
ソシム (2004/12)
売り上げランキング: 24,135
おすすめ度の平均: 5
5 初心者におすすめ
5 ニキータさん待ってたでー

ステップバイステップで学ぶMicrosoft Access 2002 VBA実践講座
エヴァン キャラハン Evan Callahan 日本ユニテック
日経BPソフトプレス (2002/03)
売り上げランキング: 119,406
おすすめ度の平均: 5
5 初心者にはうってつけ!

独習 Access VBA
大村 あつし 新名 純子 木元 友紀
翔泳社 (2003/05/17)
売り上げランキング: 72,307
おすすめ度の平均: 3.67
5 ACCESS、VBAが初めて読むにはとてもよい
2 よく出来た入門書
4 Access VBA を系統的に学習するには最適な本

24時間集中講座Access2000プログラミング―VBAによるAccessアプリケーション開発
ポール キメル Paul Kimmel ドキュメントシステム
ピアソンエデュケーション (2000/07)
売り上げランキング: 127,971
おすすめ度の平均: 5
5 座右になります

実践ワークショップビジネスに役立つAccessVBA実用マクロ―データベース運用実務と大量データ処理を自動化する335の技
槇野 晋 夏 未来 C&R研究所
秀和システム (2003/10)
売り上げランキング: 14,142
おすすめ度の平均: 5
5 まさに実用的!な1冊
5 これはいい!VBA参考書としても使える。

© Accessむかむか