custom toolbar error

I built a custom tool bar for my applicatoin. It works ok on PC Excel. But I got an error message on a Mac Excel:
 Run-time error '-2147483640(-7FFFFFF8)':
 Method 'FaceId' of object 'CommandBarButton' failed
If I comment out the        .FaceId = 642
Then the error message becomes
 Method 'OnAction' of object 'CommandBarButton' failed
The original code in VBA look like this:
..............    
Private Sub CreateDesignToolbar()
Dim TBar As CommandBar
On Error Resume Next
Application.CommandBars("Lenses Design").Delete
On Error GoTo 0
Set TBar = Application.CommandBars.Add
    With TBar
        .Name = "Lenses Design"
        .Protection = msoBarNoCustomize
        .Position = msoBarFloating
        .Visible = True
    End With
Call AddDesignButton
End Sub
Set NewBtn1 = Application.CommandBars("Lenses Design").Controls.Add(Type:=
msoControlButton)
    With NewBtn1
        .FaceId = 642
        .OnAction = "ThisWorkbook.LensDesign"
        .Caption = "Design"
        .TooltipText = "Design aerodynamic lenses"
        .Style = 3
    End With
..............

Does anybody know how to solve this problem 
Thanks a lot.


Answer this question

custom toolbar error

  • Suneel

    Again, this might be a repeat of Will's post, but here's what I got back from our support engineer:

    Here’s my update regarding following issue. Base on my understanding, our buddy has two questions. One is regarding to the statement “.FaceId = 642” and the other is for ‘OnAction’ property.

    I tested our buddy’s code on Mac. We can get the No. 642 resource and render into the icon of a CommandBarButton. However, I think the key issue is “OnAction = "ThisWorkbook.LensDesign"”. Please change to “OnAction = "LensDesign"” and try again. I suppose “LensDesign” must be an existing custom function. J

    Anything unclear, please feel free to let me know. Thanks. Regards, Ming

    -brenda (ISV Buddy Team)



  • Billie Jo Smith - MSFT

    Per the support engineer:

    That’s great to have the source code! I looked into our buddy’s code (big code…J). Here’s my update:

    Our buddy set the Protection property of CommandBar to msoBarNoCustomize, which will cause this problem on MacExcel. Following is his code, let’s comment the line in bold first and have a try again. J

    ==================================

    Private Sub CreateDesignToolbar()

    Dim TBar As CommandBar

    On Error Resume Next

    Application.CommandBars("Lenses Design").Delete

    On Error GoTo 0

    Set TBar = Application.CommandBars.Add

    With TBar

    .Name = "Lenses Design"

    ‘.Protection = msoBarNoCustomize

    .Position = msoBarFloating

    .Visible = True

    End With

    Call AddDesignButton

    End Sub

    Private Sub CreateTestToolbar()

    Dim TBar As CommandBar

    On Error Resume Next

    Application.CommandBars("Lenses Test").Delete

    On Error GoTo 0

    Set TBar = Application.CommandBars.Add

    With TBar

    .Name = "Lenses Test"

    ‘ .Protection = msoBarNoCustomize

    .Position = msoBarFloating

    .Visible = True

    End With

    Call AddTestButton

    End Sub

    =================================

    -brenda (ISV Buddy Team)



  • Oster

    Hi,
    Thanks for the reply.
    I tried to change OnAction = "ThisWorkbook.LensDesign"”. Please change to “OnAction = "LensDesign"”. Then I found it does not even work in Windows Excel. When I click another worksheet and then return to this worksheet, I got an error message saying that "The Macro Filename.xls'!LensDesign' cannot be found" when I click the button. The toolbar still did not load in Mac Excel.

    I look forward to hearing more from you. I can email the excel file to you if you can give me your email address.

    Thanks again, to you and the ISV Buddy Team.



  • Chris Jewell

    Hi,

    In order for the engineer to troubleshoot this issue properly, please send your code and a sample Excel file to me at budsup@microsoft.com and I'll make sure he gets it.

    thanks,

    -brenda (ISV Buddy Team)



  • Swami Pete

    Hi Brenda,
    I have emailed a copy of the excel file to budsup@microsoft.com with Subject title of "HELP: custom toolbar error".
    Thanks a lot for your help.


  • ietur

    Replace

     

    .OnAction = "ThisWorkbook.LensDesign"

     

    with

     

    .OnAction = "LensDesign"



  • prakjal

    Thank you very much.
    The problem is solved by commenting out those two lines.
    You guys are great!

  • custom toolbar error