• ポイントキャンペーン

Excel VBAによるWin32 APIプログラミング入門

  • ただいまウェブストアではご注文を受け付けておりません。
  • サイズ B5判/ページ数 294p/高さ 24cm
  • 商品コード 9784871938907
  • NDC分類 007.64
  • Cコード C2055

出版社内容情報

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の国内第一人者。静岡県富士市在住
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。

最近チェックした商品