プラットフォーム: WinXP SP2、インテル Fortran 11、Excel 2007
dll ファイルを Excel に接続できません。
dll ファイルは比較的単純です。
subroutine FortranCall (r1, num)
!DEC$ ATTRIBUTES DLLEXPORT, STDCALL, REFERENCE, ALIAS:"FortranCall" :: FortranCall
integer, intent(in) :: r1
character(10), intent(out) :: num
!DEC$ ATTRIBUTES REFERENCE :: num
num = ''
write (num,'(i0)') r1 * 2
return
end subroutine FortranCall
次を使用してビルド: ifort /nologo /dll Fcall.f90、その後、C ドライブの「temp」ディレクトリにコピーします (とにかく、ここにバックスラッシュを書き込むにはどうすればよいですか (コピー/貼り付けを除く) ? )
Sheet1に次のExcelファイルがあります。
Private Sub CommandButton1_Click()
Dim r1 As Long
Dim num As String * 10
r1 = 123
Call FortranCall(r1, num)
TextBox1.Text = "Answer is " & num
End Sub
そしてModuel1で:
Declare Sub FortranCall Lib "C:\temp\Fcall.dll" (r1 As Long, ByVal num As String)
実行すると、次のエラーが報告されます: ランタイム エラー 53、ファイルが見つかりません c:\temp\fcall.dll
何が間違っているのか誰にも手がかりがありますか?