Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
First I appologise for cross posting. I put this in the C# group and then
discovered this group which is probably more appropriate. Anyway, can someone please explain the following for me... I am trying to link to a .NET DLL from Excel. Excel needs to pass a reference to itself to the DLL and then the DLL needs to perform some work on the running instance of Excel via that reference. As an example, a VB DLL to return the path to the current active workbook contains the following (in addition to the COM GUIDS automatically added to a new COMClass)... Public Class Class1 Public Sub New() MyBase.New() End Sub Private gExcel As Object Public Property Excel() As Object Set(ByVal value As Object) gExcel = value End Set Get Excel = gExcel End Get End Property Public Function Path() As String Return Excel.ThisWorkbook.Path End Function End Class After adding a refernece to the DLL, a macro in Excel could call this as follows Sub VBTest() Dim VBTest As New VBExcelTest.Class1 Set VBTest.Excel = Application Debug.Print VBTest.Path End Sub This all work fine How can I do the same thing using C#? If I try to create a DLL with equivalent(?) code eg public class Class1 { public Class1(){ } private object gExcel; public object Excel{ get{ return gExcel; } set{ gExcel = value; } } public string Path(){ return Excel.ThisWorkbook.Path; } } I get a compile error saying that - 'object' does not contain a definition for 'ThisWorkbook' How can I get this to work? Thanks Alan |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Post Compilation Packaging | Setting up and Configuration of Excel | |||
After each new dll compilation I have to set the reference to the dll in Excel again. | Excel Programming | |||
VBA Excel compilation error | Excel Programming | |||
Compilation error question | Excel Programming | |||
Conditional compilation | Excel Programming |