para acessar DLL dinamicamente em vez declarar o caminho completo
'D:worksheetsStatistics_1.0.dll
Public Declare Sub Function_Name Lib "D:worksheetsStatistics_1.0.dll" (ByRef Table As Long)
se coloca somente o nome
Statistics_1.0.dll
Private Declare Function Function_Name Lib "Statistics_1.0.dll" (ByRef Table As Long) as Long
e quando for chamar a função se troca o diretoria e drive padrão do excel
Sub DLLCALL()
Dim CurrentPath As String
CurrentPath = CurDir()
ChDir ThisWorkbook.Path ' <<<--- troca a pasta de trabalho
ChDrive Left( ThisWorkbook.Path , 1)' <<<---pega a letra do drive onde está a pasta de trabalho
Call Statistics(Sort(1, 1)) ' <<< --- calls the DLL function
'volta ao padrão "creio que não tem necessidade porque com o end sub volta ao normal"
ChDir CurrentPath
ChDrive Left(CurrentPath, 1)
end sub
estou passando minhas macros para outra linguagem e DLL , e usando o excel apenas como interface
é gritante a diferença na performance , tambem pode dar maior proteção no conteúdo criado
Postado : 13/07/2018 2:34 am