出版社内容情報
VBAプログラマー必携-Win32 APIをもっと身近に!
全バージョンのOfficeと全バージョンのWindowsに対応
VBAだけでは実現できない機能をWin32 APIを使うことによって可能にするための指南書。Win32 APIを扱うための基礎知識からWin32 APIを使ったプログラミング事例を多数紹介しています。本書は「VBAユーザーのためのWin32APIプログラミング」を大幅に改訂増補した、VBAプログラマのための国内唯一のWin32 APIプログラミング入門書です。より付加価値の高いアプリケーション開発に役立つ珠玉の一冊になるでしょう。
◎読者サポート付き
本書掲載のサンプルデータをダウンロードができます
【本書対応OSバージョン】
WindowsXP/Me/2000/NT4.0/98/85 (全のMicrosoft Office VBAに対応)
■本書のコンテンツ
☆Part1 Win32 APIへのパスポート
第1章 Win32 APIの予備知識とWindows XPの登場
○Win32 APIとは何か
Win32 APIは32ビット版Windowsが提供する関数群
○Win32 APIを使ってできること
Win32 APIを使うとWindowsの標準機能が活用できる
○Windowsの変遷とAPIの進化
APIには「Win16 API」と「Win32 API」がある
Windows XPの登場とWin16 APIの終焉
Windows XPの内部OSバージョン
○コードの再利用
ライブラリの誕生
○ライブラリの活用
DLLはAPI関数の収納場所
○Windowsが提供する主なDLL
Windows\System32ディレクトリを覗いてみる
○膨張するWin32 API
Win32 APIにはいくつの関数があるのか
第2章 Windows内部世界の探索
○OSの役割 OSはアプリケーションとハードの仲介役
○マルチタスクとプリエンプティブ
Windowsは複数のプログラムを次々に実行できるOS
○プロセスとスレッド
プログラムはさらにスレッドという単位に細分化される
○CPUを他のプログラムに横取りされないためには
待機関数と同期オブジェクト
○ウィンドウ Windowsが提供する3つの機能 -その1-
ウィンドウは画面上の矩形の領域
Visual BasicとVBAのコントロールの決定的な違い
ウィンドウの属性
○メッセージ Windowsが提供する3つの機能-その2-
メッセージの橋渡しこそがWindowsの使命
○デバイスコンテキスト Windowsが提供する3つの機能-その3-
グラフィックスの出力情報を一元化する
○総論 Windowsの本質はメッセージとAPI
第3章 VBAからWin32 APIを使うためには
○Win32 APIを使う際の心構え
VBAに精通してAPIに振り回されない判断力を身に付ける
○Win32 API関数の宣言
API関数はDeclareステートメントで宣言する
○Win32 APIのデータ型とVBAのデータ型
C言語のデータ型とVBAのデータ型の対応表
○Win32 API関数の呼び出し
API関数はFunctionプロシージャとして呼び出す
○文字列を使用するWin32 API
VBAはUnicodeをANSIに変換してAPIに渡す
文字列引数を書き換えるAPI関数
APIから受け取った文字列を取り出す
API関数に文字列引数を渡すときにはByValを使う
○数値を使用するWin32 API
API関数が数値を書き換えるかどうかで渡し方を判断する
符号なし整数と符号付き整数
○ユーザー定義型
ユーザー定義型の宣言
ユーザー定義型は参照渡しでWin32 APIに渡す
○Win32 APIを使うためのその他のポイント
・数値配列・NULLポインタ・As Any節
・Win32 APIの「TRUE」とVBAの「True」・ビット演算
・シフト演算・Win32 APIのエラー処理
☆Part2 Win32API活用事例集
第4章 プログラム実行
○本書解説のモジュールを参照する際の注意点
Win32 API関数、構造体、定数の宣言について
エラー処理について
○アプリケーションの重複起動を回避する
電卓が起動していなかったら電卓を起動する
○Shell関数で起動したアプリケーションが終了するまで待機する
メモ帳が終了するまでプログラムの実行を停止する
待機関数で待機する
○メッセージキューを介さずにメッセージを送る-SendMessage関数-
単一のメモ帳を閉じる/すべてのメモ帳を閉じる
○アプリケーションを起動してユーザーが入力できる状態になるまで待機する
起動に時間を要するアプリケーションへの対応
○表示ウインドウのキャプション、クラスを表示する
GetWindowText関数とGetClassName関数
○ウィンドウの表示位置とサイズを指定してアプリケーションを起動する
メモ帳を目的の位置に目的のサイズで表示する
○ウィンドウを前面に表示する
背後に隠れたメモ帳を最前面に表示する
○拡張子に関連付けられたプログラムを実行する
拡張子に関連付けられたプログラムでファイルを印刷する
フォルダを指定してエクスプローラを起動する
○[ファイルのプロパティ]ダイアログボックスを開く
ShellExecute関数の拡張版を体験する
○フロッピーディスクをフォーマットする
[フォーマット]ダイアログボックスを開く
○[Windowsの終了]ダイアログボックスを表示する
プログラムマネージャーにメッセージを送る
○システムをログオフ/シャットダウン/再起動する
システムをシャットダウンする
第5章 ファイルの操作
○フォルダ選択用のディレクトリツリーを表示する
[フォルダの参照]ダイアログボックスでフォルダを指定する
○高機能なSHFileOperation関数
フォルダ単位でファイルをコピーする
同名のファイルが存在したら別名でコピーする
複数のファイルを同時に異なるフォルダにコピーする
ファイルをごみ箱に移動する
ファイルの移動とファイル名の変更
テンポラリディレクトリにテンポラリファイルを作成する
○指定されたファイルを効率的に検索する
複数のフォルダに対して次々にファイルを検索する
○拡張子に関連付けられたプログラム名を取得する
「.txt」のファイルに関連付けられているプログラムは?
第6章 情報の取得
○特別なディレクトリのパス名を取得する
Windowsディレクトリのパス名を取得する
Windowsシステムディレクトリのパス名を取得する
○特殊フォルダのパス名を取得する
特殊フォルダとは
インターネットキャッシュディレクトリのパス名を取得する
○ドライブの種類を判別する
ドライブを扱うプログラムにおける前判定処理
○ファイルの属性を取得する
Win32 APIのエラー処理-LastDLLErrorプロパティ
Win32 APIのエラー処理-FormatMessage関数
○ディスクの空き容量を取得する
対象ボリュームが2GBを超える場合
○ボリューム名を取得/設定する
ボリューム名を取得する
ボリューム名を設定する
ボリューム名を削除する
第7章 システム情報の取得
○Windowsのバージョン情報を取得する
ビット演算
○コンピュータ名を取得/設定する
コンピュータ名を取得する
コンピュータ名を設定する
○ユーザー名を取得する
現在のスレッドのユーザー名を取得する
○CPUの数と種類を取得する
GetSystemInfo関数
○画面の解像度を取得する
GetSystemMetrics関数
GetSystemMetrics関数で取得できる情報
○スクリーンセーバー実行までの待ち時間を取得する
SystemParametersInfo関数
SystemParametersInfo関数で取得/設定できる情報
○グラフィックスモードを変更する
ChangeDisplaySettings関数
第8章 ウィンドウの操作
○コントロールメニューを無効/有効にする
タイトルバーからシステムメニューを削除する
ユーザーフォームに最大化・最小化ボタンを付加し、リサイズも可能にする
削除したシステムメニューを復活する
○[閉じる]ボタンを無効/有効にする
[閉じる]ボタンを有効にする
第9章 レジストリ・INIファイルの操作
○レジストリの操作
レジストリエディタ/Win32 APIのレジストリ関数
レジストリキーを作成する/レジストリキーを削除する
レジストリキーに値を保存する/レジストリキーの値を取得する
レジストリキーの値を削除する
○INIファイルの操作
INIファイルの必要性/INIファイルの内容
Win32 APIのINIファイル関数
INIファイルの文字列を整数として取得する
INIファイルのセクション内のすべてのキーと値を取得する
INIファイルの文字列を取得する
INIファイルのセクション内のすべてのキーと値を変更する
INIファイルの文字列を変更する
第10章 その他の操作
○コードの実行速度を計測する
GetTickCount関数-その1-
○Windowsを起動してから経過した時間を計測する
GetTickCount関数-その2-
○ミリ秒単位でコードの実行を中断する Sleep関数
○カーソルの点滅速度を変更する SetCaretBlinkTime関数
○Wave音を鳴らす PlaySound関数
○ネットワーク接続されたパソコンのフォルダをカレントディレクトリにするSetCurrentDirectory関数
付録 Win32 APIの情報の収集手段
Win32 APIの最新情報の入手方法
Win32api.txt
本書掲載プログラムを実行する際の注意点
サンプルプログラムダウンロードについて
使用するアプリケーションについて
OSとサンプルプログラムについて
免責事項について
内容説明
本書は、「国内初のVBAユーザーのためのWin32 APIの解説書」として多大なご支持を得た『VBAユーザーのためのWin32 APIプログラミングガイド』の増補改訂版である。WindowsXPとOfficeXPを想定して加筆訂正をした。
目次
1 Win32 APIへのパスポート(Win32 APIの予備知識とWindowsXPの登場;Windows内部世界の探索;VBAからWin32 APIを使うためには)
2 Win32 API活用事例集(プログラムの実行;ファイルの操作;情報の取得;システム情報の取得;ウィンドウの操作 ほか)
著者等紹介
大村あつし[オオムラアツシ]
IT系書籍の執筆からデザイン・DTPまで幅広く手がける、社内・社外あわせて200余名のスタッフを擁する国内最大のIT系ライティングカンパニー、プロジェクトA株式会社の代表取締役。プロジェクトA株式会社は、インターネット上では、国内最大のMicrosoft Officeの情報コミュニティサイト『モーグ』も運営している。Excel VBAが上陸した直後から啓蒙活動を始めた先駆者であり、『VBAest』の愛称も持つExcel VBAの国内第一人者。静岡県富士市在住
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。