Я использую gfortran-компилятор (под Simply Fortran) для Windows 64 и при создании базовой fortran dll для тестирования я не могу запустить его под VBA и получил ошибку времени выполнения 48: DLL не может быть найдена.вызов fortran dll из VBA
вот мой Фортран код подпрограммы:
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.dll multiply.f90 эта библиотека находится в «C: \ Users \ Olivier \ Documents \ Fortran \»
и мой код 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 где а Этот файл находится в правильном файле, указанном в декларации, если кто-то может помочь!
Спасибо заранее
У вас есть эта ссылка: http://stackoverflow.com/questions/8606740/vba-cannot-find-my-dll-despite-hardcoding-location? – varocarbas
Также, чтобы уменьшить источники ошибок, я бы поместил dll в ту же директорию, что и таблица, и уменьшил имя до «multiply.dll». – varocarbas
. Я попытался поместить dll в ту же директорию, что и файл excel, но он не сделал К сожалению, ничего не изменит. – Olivier