質問: VBA から (Strawberry Perlに入っている) GCC で作る関数 (DLL) を呼び出したいのですが、何から調べれば良いですか? ご指導よろしくお願いします。
回答: Strawberry Perlに同梱されているgccはMinGW-w64のようなので、その辺のキーワードで検索した記事が参考になるでしょう。 mingw-w64 GCC for Windows 64 & 32 bits > > Some Projects using Mingw-w64 > > > * Strawberry Perl (bundles C toolchains) > > > 単に最小限のソースからDLLを作って呼べるように試したプロジェクト例 rdinse/MSAccessSQL_DLL.md 少し古いかもな記事 VB6, VBA の文字列 String を返す DLLを作成する 32bit版での記事 DLL compiled from C source code. Not able to use in excel VBA. File not found error 実は解決していない記事 Using MinGW gcc to create DLLs for VBA 64 bit Unable to run C coded DLL in Excel VBA こちらはVBAではなくVisual Basic向けですが。 Visual Basic DLL | MinGW Compile a DLL in C/C++, then call it from another program 上記でExcelから呼べた記事 Excel won't load function from C++ DLL 参考:VisualStudio系での記事 DLLを作成してみる(その1) 1章:DLLの作成方法とVBAから呼び出し方法 ExcelのVBAで使えるDLLを、C++(Visual Studio 2017)で作る。・・・その1 他には上記記事にも一部書かれていますが、VBA側の知識も必要でしょう。 DLLの関数をどう定義してどう呼び出すか、パラメータや戻り値は、といったことが説明されています。 Excel で DLL にアクセスする 上記を含む開発キット(VisualStudio用?)の先頭ページ Excel ソフトウェア開発キットへようこそ DLL経由でなくてもAPIを呼べたりしますが、方法とか(64bit時の)注意事項とか。 VBAでWinAPI32を使うためのリンク集