最初にAPIとは、Application Programing Interface の略で、ある機能やデータを外部プログラムやデータを呼びだし、利用する
サービスをいいます。
そのWindows版にあたるのがWindows APIで、WindowsのOSにあらかじめ用意されている様々な機能を呼び出す手段として用いられます。
これはExceelBVAからも使うことができ、Excel以外の機能やデータを呼び出すこともできます。
実際にWindows APIのMessageBeepを使って、
Windowsのシステム音でおなじみのアノ音を鳴らしてみましょう。
記述方法としては
Private Declare Function API名 Lib “DLL名” (引数) As 型
となります。
ちなみに、DLLは色々なアプリケーションで汎用的に使える機能や各機能にアクセスする関数をまとめており、
エクセルVBAのようなプログラムから呼び出せるようにしてあるものです。
Windows APIとして公開されているAPIは、下記マイクロソフト社のページで閲覧することができます。
https://docs.microsoft.com/ja-jp/windows/win32/apiindex/windows-api-list
記述方法のAPI名の部分をMessageBeepと指定します。
そしてMessageBeepは『User32.DLL』というDLLの中に含まれているので、”DLL名”の部分を”User32”に置き換えます。
またMessageBeepは、鳴らしたい音の番号を引数に指定する必要がありますので、引数も一緒に宣言します。
これで「user32というDLLにある、MesseageBeepを使います」という宣言を
します。
そして、宣言したAPI名を呼び出します。
すると、皆さんよく聞くシステム音が流れます。
注意点としては、API名が正しく記載されている必要があります。
特に「大文字」と「小文字」を間違えただけで違うものとみなされるため、綴りはもちろん、「大文字」と「小文字」にも留意する必要があります。
今回はAPIでの外部プログラム呼び出しについて説明いたしました。
ご覧いただき、ありがとうございました。
■参考元
https://tonari-it.com/windows-api-dll-messagebeep/