Dim cBars As CommandBars error

John Kincaid
John Kincaid used Ask the Experts™
on
The below procedure returns error "user-defined type not defined" with Dim cBars As CommandBars highlighted.  I tried "Dim cBars As DAO.CommandBars" with the same results. I have verified that the reference to DAO3.6 is checked.

Any help appreciated.

Public Sub ToggleCmdBars()
 
  Dim cBars As CommandBars
  Dim cBar As CommandBar
   
  Set cBars = Application.CommandBars '   reference databases commandbars collection
   
  For Each cBar In cBars '   loop through each commandbar in the commandbars collection
    With cBar
      If .TYPE = 0 Then '    if it is a tool Bar, disable it
        If .Enabled = False Then
          .Enabled = True
        Else
          .Enabled = False
        End If
      ElseIf .TYPE = 1 Then '    if it is a menu Bar, disable it
        If .Enabled = False Then
          .Enabled = True
        Else
          .Enabled = False
        End If
      End If
    End With
  Next

'Pop-Up menus remain enabled
End Sub
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
jkinca,

The CommandBars collection is part of Office, not DAO. Keep your DAO reference if you use it elsewhere, but you'll need to set a reference to Microsoft Office xx.x Object Library. Once that is set, you can use

Dim cBars As CommandBars
Dim cBar As CommandBar

or

Dim cBars As Office.CommandBars
Dim cBar As Office.CommandBar

for clarity.

HTH,
pT72

Author

Commented:
You are exactly right, thanks alot.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial