Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Late binding with VBIDE
Is late binding possible with the VBIDE. For example I'd like to be able
to: Dim MyObj as Object and then Set MyObj as New CreateObject("VBIDE.VBComponent") rather than Dim MyObj as New VBIDE.VBComponent but I get Run time error '429', ActiveX component can't create object, even if I have a reverence set to Microsoft Visual Basic for Applications Extensibility 5.3. I can do this with the Scripting.FileSystemObject. Why not with this? Does this mean that I will either have to instruct a user to add the reference or use an installer to do it via the registry if I want to use these functions on distributed software. I found a discussion from 2002-12-09 which Chip Peterson and Rob Bovey describe how late and early binding work however it doesn't explain the above. Tony |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Late binding with VBIDE
Just answered my own question again (More searches in the news group!)
I should be doing this Dim MyObj as Object And then Set MyObj = ThisWorkbook.VBProject.VBComponents and I also note that Set MyObj = CreateObject("VBIDE.VBComponent") I was using Set MyObj as New CreateObject("VBIDE.VBComponent") which doesn't work As I said below I have found a lot of info about early and late binding in another discussion so I'll study that to try to understand the differences between the various syntax. Tony Dim "Tony Seiscons" wrote in message ... Is late binding possible with the VBIDE. For example I'd like to be able to: Dim MyObj as Object and then Set MyObj as New CreateObject("VBIDE.VBComponent") rather than Dim MyObj as New VBIDE.VBComponent but I get Run time error '429', ActiveX component can't create object, even if I have a reverence set to Microsoft Visual Basic for Applications Extensibility 5.3. I can do this with the Scripting.FileSystemObject. Why not with this? Does this mean that I will either have to instruct a user to add the reference or use an installer to do it via the registry if I want to use these functions on distributed software. I found a discussion from 2002-12-09 which Chip Peterson and Rob Bovey describe how late and early binding work however it doesn't explain the above. Tony |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Late binding with VBIDE
You don't say what you want to do with the component, but this shows how to
delete a module with late-binding Dim VBComp As Object Set VBComp = ThisWorkbook.VBProject.vbcomponents("Module2") ThisWorkbook.VBProject.vbcomponents.Remove VBComp -- HTH RP "Tony Seiscons" wrote in message ... Is late binding possible with the VBIDE. For example I'd like to be able to: Dim MyObj as Object and then Set MyObj as New CreateObject("VBIDE.VBComponent") rather than Dim MyObj as New VBIDE.VBComponent but I get Run time error '429', ActiveX component can't create object, even if I have a reverence set to Microsoft Visual Basic for Applications Extensibility 5.3. I can do this with the Scripting.FileSystemObject. Why not with this? Does this mean that I will either have to instruct a user to add the reference or use an installer to do it via the registry if I want to use these functions on distributed software. I found a discussion from 2002-12-09 which Chip Peterson and Rob Bovey describe how late and early binding work however it doesn't explain the above. Tony |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Late Binding help, Please | Excel Programming | |||
Late Binding | Excel Programming | |||
Late Binding | Excel Programming | |||
EARLY binding or LATE binding ? | Excel Programming | |||
DAO Late Binding? | Excel Programming |