Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 19
Default Code Crashing

When I run the following code it sometimes crashes on the first line
after the for loop start. The code adds/removes some menu items from
the 3 cell right click menus(There are 3 right click cell menus, one
for when a cell or area of cells are selected, one for entier row(s)
selected, and one for entire column(s) selected). I can get it to run
the line of code by debugging, then making the particular menu show
once, and then resuming the code. I can't get the error to repeat
consistently. Any ideas are appreciated. Thanks.


Code:
Sub Setup_Right_Click_Items()
    Dim InsertIndex As Integer
    Dim NewItem As CommandBarButton
    Dim myIndex As CommandBarControl
    Dim MenuArray

    ReDim MenuArray(1 To 2, 1 To 3)
    MenuArray(1, 1) = "Cell"
    MenuArray(2, 1) = "Insert..."
    MenuArray(1, 2) = "Row"
    MenuArray(2, 2) = "Insert"
    MenuArray(1, 3) = "Column"
    MenuArray(2, 3) = "Insert"

    For i = 1 To 3
        Set myIndex = CommandBars(MenuArray(1,
i)).Controls(MenuArray(2, i))    '<--crashes here

        On Error Resume Next
            CommandBars(MenuArray(1, i)).Controls("Toggle
Merge").Delete
            CommandBars(MenuArray(1, i)).Controls("Toggle
Wrap").Delete
            CommandBars(MenuArray(1, i)).Controls("Paste As
Values").Delete

            ' default items i remove
            CommandBars(MenuArray(1, i)).Controls("Pick From Drop-down
List...").Delete
            CommandBars(MenuArray(1, i)).Controls("Add Watch").Delete
            CommandBars(MenuArray(1, i)).Controls("Create
List...").Delete
            CommandBars(MenuArray(1,
i)).Controls("Hyperlink...").Delete
            CommandBars(MenuArray(1, i)).Controls("Look Up...").Delete
        On Error GoTo 0

        ' move format cells to top
        On Error Resume Next
            CommandBars(MenuArray(1, i)).Controls("Format
Cells...").Delete
        On Error GoTo 0
        Set NewItem = Application.CommandBars(MenuArray(1,
i)).Controls.Add(ID:=855, befo=1)
        With NewItem
            .Caption = "Format Cells..."
        End With
        Set NewItem = Application.CommandBars(MenuArray(1,
i)).Controls("Cut")
        With NewItem
            .BeginGroup = True
        End With

        ' Set up my addins
        InsertIndex = myIndex.Index

        Set NewItem = Application.CommandBars(MenuArray(1,
i)).Controls.Add(ID:=370, befo=InsertIndex)
        With NewItem
            .Caption = "Paste as Values"
            .FaceId = 0
        End With

        InsertIndex = myIndex.Index

        Set NewItem = Application.CommandBars(MenuArray(1,
i)).Controls.Add(befo=InsertIndex)
        With NewItem
            .Caption = "Toggle Wrap"
            .OnAction = "Toggle_Wrap"
            .BeginGroup = True
        End With

        InsertIndex = myIndex.Index

        Set NewItem = Application.CommandBars(MenuArray(1,
i)).Controls.Add(befo=InsertIndex)
        With NewItem
            .Caption = "Toggle Merge"
            .OnAction = "Toggle_Merge"
        End With
    Next i
End Sub
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,290
Default Code Crashing

Well let me nitpick it...
Use Option Explicit as the first line in the module.
Make sure the code is in a standard module.
Use Application.CommandBars instead of CommandBars
Declare the i variable... Dim i as Long
Declare MenuArray as an array... Dim MenuArray() as Long

Try your code without using the myIndex variable.
All of the new menu items will then be added to the bottom of the menu.
Don't run your code in Page Break Preview mode.
There is a separate right-click "Cell" menu that functions there.

I would also have two separate subs, one to delete the menus and
one to add the menus.
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)



"John"

wrote in message
When I run the following code it sometimes crashes on the first line
after the for loop start. The code adds/removes some menu items from
the 3 cell right click menus(There are 3 right click cell menus, one
for when a cell or area of cells are selected, one for entier row(s)
selected, and one for entire column(s) selected). I can get it to run
the line of code by debugging, then making the particular menu show
once, and then resuming the code. I can't get the error to repeat
consistently. Any ideas are appreciated. Thanks.

-snip-
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 19
Default Code Crashing

Tried all of that. No luck =/ I have been able to make it repeatedly
crash trying to do add the items to the row right click menu by
opening excel and then loading the addin (I have the code placed in a
standard module in the add on xla file). I know I could let it just
add it to the end of the right click menus, but that's not where I
want it. That and I know it worked fine when I first wrote the code,
so not sure why its crashing now. I'm running MS Office 2003, SP3.
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9
Default Code Crashing

On Feb 8, 4:16*pm, John wrote:
Tried all of that. *No luck =/ *I have been able to make it repeatedly
crash trying to do add the items to the row right click menu by
opening excel and then loading the addin (I have the code placed in a
standard module in the add on xla file). *I know I could let it just
add it to the end of the right click menus, but that's not where I
want it. *That and I know it worked fine when I first wrote the code,
so not sure why its crashing now. *I'm running MS Office 2003, SP3.


Replacing the offending line with the following code seems to have
"fixed" the problem.

On Error Resume Next
Set myIndex =
Application.CommandBars(MenuArray(i)).Controls("In sert...")
Set myIndex =
Application.CommandBars(MenuArray(i)).Controls("In sert")
On Error GoTo 0
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
code crashing my programme??????? Tdp Excel Discussion (Misc queries) 4 October 30th 08 10:34 AM
Crashing!!! Pasty Excel Programming 1 March 16th 07 12:48 PM
vb exe crashing kasi Excel Programming 1 October 15th 05 03:33 AM
VBA code silently crashing. Problem with Data Validation drop down lists. Don Wiss Excel Programming 6 February 27th 05 09:46 AM
"Tabbing" code crashing xl2002 WinXP Matt Jensen[_2_] Excel Programming 2 January 14th 05 03:16 PM


All times are GMT +1. The time now is 10:38 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"