Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default 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

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 249
Default 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
|


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default 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
|


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 249
Default 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


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Calling a Sub from another shashi1515[_4_] Excel Programming 5 February 4th 06 03:57 AM
Need Help using/calling a DLL Trip[_3_] Excel Programming 1 January 9th 06 01:36 PM
Need Help Using/Calling DLL Please Trip[_3_] Excel Programming 0 January 8th 06 09:57 AM
Calling an Add-In BillCPA Excel Discussion (Misc queries) 2 August 11th 05 09:32 PM
Calling SUB Peter Longstaff Excel Programming 2 February 23rd 04 08:04 PM


All times are GMT +1. The time now is 02:42 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"