• ベストアンサー

ExcelVBAでWinAPI関数を使用したいのですが

WinAPI関数のライブラリーの一覧を見ることが出来ますか。またそれぞれの関数の意味、使用法などがわかる方法がありますか。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 あまり回答としては役に立たないかもしれませんし、もっと詳しい方がいらっしゃると思います。 今、自分の持っているものを、いろいろチェックしてみました。 Win32 API ビューアは、既存の MS のものよりも、以下のほうが使いよいようですね。VB6等に入ってるのは貧弱です。  .Net 用には、別のものがあるようです。(.Net Framework  があれば必要がないというより、新しいテクニックに移行すべきかもしれませんね。) ホーム: http://www.activevb.de/startseite/index.html Excel Addin の API Viewer 3.1(フリー)を使用しています。 http://www.activevb.de/rubriken/apiviewer/index-apiviewereng.html (ANSIモードにしてお使いください) ただ、『Office プログラマーズガイド』に出てくる、Microsoft Platform SDK が、今手に入るのか、私には分かりません。検索してみましたが、どれがよいのか分かりません。MS側が資料とするのは、このSDK と、Access 97 デベロッパーズ・ハンドブック(アスキー)となっていますが、両方とも手に入らないような気がします。アスキーでもVB用が出ていましたが、今は、無理でしょうね。上下で、1.5万円ぐらいだったような気がします。 Developer の中の、Sample は、かなり少ないです。以下のほうが豊富にあります。 今、もう時代は、変わってしまったので、Win32 API自体が過去形になりつつあるのですが、絶版になってしまいましたね。 『Excel VBAによる Win32 API プログラミング入門』エーアイ出版 http://www.amazon.co.jp/exec/obidos/ASIN/4871938905 (どこかの○○な人間が、価格を吊り上げているようです。定価 2,680円 ) が、安く手に入るようでしたら、手に入れてもよいかもしれません。高いお金を出すべきものではありません! エーアイソフトからのサンプルを探して、ダウンローズすれば良いと思います。 それに、VBA から次世代に入ったら、おしまいです。VB用も手に入りにくくなっていますし、今更、VB6 からはじめるという人は、少ないでしょうし、.Net やVS2005 では、API関数は、あまり有用ではありません。 ところで、ExcelなどのOffice では、コントロールがウィンドウではありませんので、VBAで使えるものは、かなり限られています。他の方たちがご紹介になっているのは、Visual Basic (非 .Net) のサイトですね。そのまま使えるものとそうでないものがあります。

その他の回答 (2)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

ネットやMSのサイト、関連書籍をお読みになって下さい。 http://homepage1.nifty.com/MADIA/vb/VBKANREN.htm

  • driverII
  • ベストアンサー率27% (248/913)
回答No.1

参考URL:
http://www.winapi-database.com/

関連するQ&A

  • WinAPI GetDiskFreeSpaceEx について

    お世話になります。 既存のWinNTServerで動いていたPERLモジュールがあります。 その中にWinAPIのGetDiskFreeSpaceExを使用してドライブ空き容量を得ていたのですが、今回ServerがVersionUpし、WinServer2003になったところ、取得できなくなってしまいました。 確かにMSDNを見てもこの関数はMicrosoft Windows NT Server 4.0 Standard Editionまでとなっているように見えるのですが、ではWinServer2003ではどのようにしてドライブ空き容量を得ることができるのでしょうか? もしくは、記述方法を変えたらこの関数でも対応可能なのでしょうか? よろしくお願いいたします。

  • WinAPIでアトムの逆

    WinAPIにおいて、 数値を識別子として文字列を保存するのがアトムですが、 文字列を識別子として数値を保存する関数はありますか?

  • WinAPIでフォルダ作成

    先日質問させていただき、 ファイル出力時に、フォルダを作成し、そのフォルダにファイルを出力していく方法をお聞きしたところ、 _mkdir()関数を使い、最初にフォルダを作っておく方法を教わり、 これは上手くいきました。 それとは別に、WinAPIを使い、フォルダの有無を調べ、無い場合は 作成するという方法があるのを教えてもらいました。 WinAPI使ったことないので、良くわからなかったのですが、 丁寧な説明を頂き、ほとんど、コピーして貼り付けるだけだったので 実行してみたのですが、意味のわからないエラーが出てしまいました。 実行した方法は、 #include <shlwapi.h> #include <windows.h> if ( PathIsDirectory(path) ){ ←フォルダ有無  CreateDirectory( path, NULL ); ←フォルダ作成 } sprintf( buff, "%s\\%s", path, filename ); fp = fopen( buff, "w" );  : fclose( fp ); エラーの内容は 構文エラー : 識別子 'DECLSPEC_IMPORT' がシンタックスエラーを起こしました。 というものでした。 エラーの部分は、よく解らないのですが、自分で書いたメインの文ではなく、何かのヘッダ部分?のようでした。 もしかして、WinAPIを使うには、何かインストールしないとマズイのでしょうか?? これだけの説明で、何が悪いのか指摘できるのかわかりませんが、 わかる方いらっしゃいましたら教えて下さい。 何か足りない情報があったら書き込みます! ちなみにもう一つお聞きしたいのは、フォルダのpath指定のところは 相対パスでもいいのでしょうか? 例えば、現在Cファイルがある場所にDATAというフォルダを作りたかったら、 path指定のところは、 PathIsDirectory(DATA) で問題ないのでしょうか? すみませんが、回答お願いします!

  • VC++2008の標準関数一覧

    Visual C++ 2008に用意されているライブラリ関数の一覧を知るためにはどうしたらいいでしょうか?インターネットで情報を探してもなかなか見つからずに困っています。関数の一覧が載っているサイトなどあったら教えてください。回答よろしくお願いします。

  • WINAPIとAPIENTRYの使い分け

    表題の通りです。 WINAPIとAPIENTRYは__stdcallで定義されていることは知っていますが、 そもそも、この二つはどのような目的で使用されるものなのかが分かりません。 どのような目的があって、このようなものが定義されたのか、 そしてどのように使い分ければいいのかを知りたいです。

  • WinAPIでCのfgetsのようにファイルから1行ずつ読み混むには?

    WinAPIでCのfgetsのようにファイルから1行ずつ読み混むには? ReadFileで読み込んだあとfgetsの代わりになる関数または どのようなシステムを作れば1行ずつ読み込めるでしょうか 教えて下さい。

  • 標準ライブラリー関数を使用せずに文字出力

    はじめまして、C言語初心者です。 研修で、C言語を学ぶことになったのですが研修先から頂いた練習問題で「練習のため標準ライブラリー関数は使わない」で文字列を連結するための関数を作ることになったのですが、標準ライブラリー関数を使用せずに文字出力はできるのですか??

  • 関数電卓の使用法について教えてください。

    関数電卓の使用法について教えてください。6√0.1を関数電卓を使って出したいのですが、どの手順でボタンを押せばいいのか分かりません。 教えてください。 お願いします。

  • WINAPIから始まるプログラム実行時の引数について。

    WINAPIで始まるメインループにコンソールプログラムのように、引数を与えて実行時の処理を変更させる方法を教えてください。 コンソールでの引数の使い方等は分かるので、どうやったらWINAPIにそう言った引数が渡せるのかが知りたいデス_| ̄|○

  • ExcelVBAで関数を入力したいのですが

    ExcelVBAで以下の関数を入力して起動したのですが、エラーで停止してしまいます。 Range("AJ109").Formula = "=SUMIF($K$4:$K$107,"10年度",AJ4:AJ107)" 記述の方法が間違っているのでしょうか? また、SUMIF関数の検索条件を”10年度”という固定値ではなく、VBA内で使用するNENDOという変数の値を検索条件にするのが理想です。 どなたか御存知の方がいらっしゃいましたら、何卒、宜しくお願い致します。

専門家に質問してみよう