Error 430: Class does not support Automation or does not support expected interface
Posted on 2006-06-30
I have a VB6 Add-In. I've written code to create a menu item on the "Add-Ins" menu and a CommandBar button on the "Standard" toolbar (both coded in the OnStartupComplete event for certain reasons).
The menu item works perfectly so no problem on that front...
However, when I try to add a new Control on the Standard toolbar the program falls over with the error message from the title.
Here's the code I'm using for this purpose:
Dim WithEvents MyButton As CommandBarButton (declared at class-level in the Connect class)
Set oCommandBars = VBInstance.CommandBars
If oCommandBars Is Nothing Then
' Outlook has the CommandBars collection on the Explorer object
Set oCommandBars = VBInstance.ActiveExplorer.CommandBars
Set oStandardBar = oCommandBars.Item("Standard")
If oStandardBar Is Nothing Then
' Standard bar not found: use the 'Text Editor' toolbar
Set oStandardBar = oCommandBars.Item("Text Editor")
' Ensure that the 'Standard' toolbar is enabled & visible
oStandardBar.Enabled = True
oStandardBar.Visible = True
' In case the button was not deleted, use the exiting one...
'Set MyButton = oStandardBar.Controls.Item("MyAddIn")
For I = 1 To oStandardBar.Controls.Count()
If oStandardBar.Controls.Item(I).Tag() = "MyAddIn Button" Then
' My button's tag was found and hence my button already exists...
' Set my button variable to it
Set MyButton = oStandardBar.Controls.Item(I)
'... otherwise, create a new button
If MyButton Is Nothing Then
Set MyButton = oStandardBar.Controls.Add(1) --> this is the statement which generates the error I've mentioned!!!!!!!!!
Office 2003 (v.11)
Windows XP Pro
The 3 references added automatically by the Add-In project when I created it are:
Microsoft Office 11.0 Object Library
Microsoft Add-In Designer
Microsoft Visual Basic 6.0 Extensibility
Has anyone come across this problem? What's the workaround?