View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
NickHK[_3_] NickHK[_3_] is offline
external usenet poster
 
Posts: 415
Default How to pass active workbook to external DLL?

Your VB6 DLL does not know what a Workbook is.
However it does know Excel.Workbook, assuming you have a reference to the
Excel library, using early binding.

NickHK

"MarkDev" ¼¶¼g©ó¶l¥ó·s»D:MarkDev.2cby33_1155222915.8281@exce lforum-nospam.com...

I need to send a reference(?) to active workbook to external DLL. The
DLL is
written in VB6. In the external DLL I'll be updating this workbook.
Sample code is provided below:

Here is excel macro code:
Sub test3()
Dim TC As ClassA
Dim wbCodeBook As Workbook
Set TC = New ClassA
Set wbCodeBook = ThisWorkbook
TC.GetCellA1(wbCodeBook)
Set TC = Nothing
End Sub


Below is provided my VB6 code (this sub is part of CalssA):
Public Sub GetCellA1(locWB As Workbook)
Dim CellValue As String
CellValue = locWB.Worksheets(1).Range("A1")
MsgBox "Cell A1 = " + CellValue, "FROM DLL"
End Sub

It fails on the line TC.GetCellA1(wbCodeBook). The error message says:
"#438: Object doesn't support this property or method."

Please help


--
MarkDev
------------------------------------------------------------------------
MarkDev's Profile:
http://www.excelforum.com/member.php...o&userid=35572
View this thread: http://www.excelforum.com/showthread...hreadid=570387