Notifications
Clear all

acessar DLL dinamicamente

1 Posts
1 Usuários
0 Reactions
1,453 Visualizações
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

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