Windows 64 用の gfortran コンパイラ (Simply Fortran の下) を使用しています。テスト用の基本的な fortran dll を作成するときに、VBA で実行できず、実行時エラー 48 が発生しました: dll が見つかりません。
これが私のfortranサブルーチンコードです:
subroutine multiply(x, y, z)
!DEC$ ATTRIBUTES DLLEXPORT :: multiply
!DEC$ ATTRIBUTES ALIAS : "multiply" :: multiply
real, intent(in):: x, y
real, intent(out):: z
z = x * y
end subroutine multiply
次のように入力してライブラリを作成します: gfortran -shared -omultiply.dllmultiply.f90
と私のVBAコード(私はVBA 7.0を使用しています):
Declare Sub multiply Lib "C:\Users\Olivier\Documents\Fortran\multiply.dll" (x As Single, y As Single, ByRef z As Single)
Sub test()
Dim x As Single
Dim y As Single
Dim z As Single
x = 2
y = 3
Call multiply(x, y, z)
Cells(1, 1) = z
End Sub
この VBA コードを実行すると、このファイルは宣言に記載されている正しいファイルにあるのに、multiply.dll が見つからないと表示されます。
前もって感謝します