![]() |
calling C# DLL from VBA
Dear all,
I am very new to microsoft programming world and would definitely need help. I tried created a C++ DLL and I can call it from Excel VBA, and it works well. Now I am trying to create a C# DLL, I can compile the DLL but I can't call it from my Excel VBA. Everytime when I invoke the VBA macro it complains the entry point of the DLL is not found. Are there something missing during my DLL compilation step?? I remember that I have to define the "functions to be exposed" in a DEF files for the C++ Linker. Do I have to do something similar for C#? Thanks a lot. Paul |
calling C# DLL from VBA
Seems strange you would ask a C# question here rather than
http://www.microsoft.com/communities...&lang=en&cr=US I'd run depends.exe against the DLL to see what functions are exposed. -- Regards, Dave Patrick ....Please no email replies - reply in newsgroup. Microsoft Certified Professional Microsoft MVP [Windows] http://www.microsoft.com/protect "Paul" wrote: | Dear all, | | I am very new to microsoft programming world and would definitely need | help. I tried created a C++ DLL and I can call it from Excel VBA, and | it works well. | | Now I am trying to create a C# DLL, I can compile the DLL but I can't | call it from my Excel VBA. Everytime when I invoke the VBA macro it | complains the entry point of the DLL is not found. Are there something | missing during my DLL compilation step?? | | I remember that I have to define the "functions to be exposed" in a DEF | files for the C++ Linker. Do I have to do something similar for C#? | | Thanks a lot. | | Paul | |
calling C# DLL from VBA
Thanks. I believe that's not purely a C# problem, since I am not sure whether I have done something wrong with my excel VBA code too... I have created the C# component, my code is looking like this: public class Class1 { public Class1() { } public int TestMethod(int i, int j) { return i + j; } } and I compiled using Visual studio for C# 2005 (.NET 2.0) with the "Register for COM interop" option and have the ComVisible(true) assembly attribute set. Then I have set the reference to "testdll.tlb" in my Excel VBA environment. And my VBA code here Sub test() Dim a As testdll.Class1 Set a = New testdll.Class1 End Sub The problem is.. everytime when I run the macro it complains at the 2nd line of my VBA code: "File or assembly name testdll, or one of its dependencies, was not found." I spent a day but still unable to figure out which step I was missing.... If anyone know the answer, please help~~~~ Thank you very much. Paul On Nov 5, 12:58 am, "Dave Patrick" wrote: Seems strange you would ask a C# question here rather thanhttp://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg... I'd run depends.exe against the DLL to see what functions are exposed. -- Regards, Dave Patrick ....Please no email replies - reply in newsgroup. Microsoft Certified Professional Microsoft MVP [Windows]http://www.microsoft.com/protect "Paul" wrote:| Dear all, | | I am very new to microsoft programming world and would definitely need | help. I tried created a C++ DLL and I can call it from Excel VBA, and | it works well. | | Now I am trying to create a C# DLL, I can compile the DLL but I can't | call it from my Excel VBA. Everytime when I invoke the VBA macro it | complains the entry point of the DLL is not found. Are there something | missing during my DLL compilation step?? | | I remember that I have to define the "functions to be exposed" in a DEF | files for the C++ Linker. Do I have to do something similar for C#? | | Thanks a lot. | | Paul | |
calling C# DLL from VBA
That's a different error than you originally posted. Still a question for
the C# group. Try depends.exe or possibly one of these may help. http://www.google.com/search?hl=en&l...23&btnG=Search -- Regards, Dave Patrick ....Please no email replies - reply in newsgroup. Microsoft Certified Professional Microsoft MVP [Windows] http://www.microsoft.com/protect "Paul" wrote: | | Thanks. I believe that's not purely a C# problem, since I am not sure | whether I have done something wrong with my excel VBA code too... | | I have created the C# component, my code is looking like this: | | public class Class1 { | public Class1() { | } | public int TestMethod(int i, int j) { | return i + j; | } | } | | and I compiled using Visual studio for C# 2005 (.NET 2.0) with the | "Register for COM interop" option and have the ComVisible(true) | assembly attribute set. | | Then I have set the reference to "testdll.tlb" in my Excel VBA | environment. | And my VBA code here | | Sub test() | Dim a As testdll.Class1 | Set a = New testdll.Class1 | End Sub | | | The problem is.. everytime when I run the macro it complains at the 2nd | line of my VBA code: | | "File or assembly name testdll, or one of its dependencies, was not | found." | | | I spent a day but still unable to figure out which step I was | missing.... | | If anyone know the answer, please help~~~~ | | Thank you very much. | | Paul |
All times are GMT +1. The time now is 07:45 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com