![]() |
How can this work?
Have an Excel .xla add-in with a number of normal code modules.
In one of these modules I have the API declaration: Private Declare Function FindWindow _ Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Then in a DIFFERENT module I have: If Val(Application.Version) = 9 Then hwnd = FindWindow("ThunderDFrame", .Caption) Else hwnd = FindWindow("ThunderXFrame", .Caption) End If There is no place where the API is declared public. There is no compile error and the above code runs fine. I am just wondering how this can be. I thought because the API was declared Private it would only work for the module where it is declared. Any thoughts about this? RBS |
How can this work?
OK, sorry, I figured this out.
There was a public declaration of the same API in a different project. The project with the private declaration has a reference to the project with the publicly declared API, so that explains it. RBS "RB Smissaert" wrote in message ... Have an Excel .xla add-in with a number of normal code modules. In one of these modules I have the API declaration: Private Declare Function FindWindow _ Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Then in a DIFFERENT module I have: If Val(Application.Version) = 9 Then hwnd = FindWindow("ThunderDFrame", .Caption) Else hwnd = FindWindow("ThunderXFrame", .Caption) End If There is no place where the API is declared public. There is no compile error and the above code runs fine. I am just wondering how this can be. I thought because the API was declared Private it would only work for the module where it is declared. Any thoughts about this? RBS |
All times are GMT +1. The time now is 01:15 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com