Thanks. I also found:
http://www.mrexcel.com/forum/showthread.php?t=322504
useful from which I tried the following:
Sub WriteCode(str_Dest As String)
Dim chrt As Chart, str_Code As String
Set chrt = Sheets(str_Dest)
str_Code = "Private Sub Chart_BeforeRightClick(Cancel As Boolean)" & vbCrLf
str_Code = str_Code & "Cancel = True" & vbCrLf
str_Code = str_Code & "CommandBars(""myShortcutBar"").ShowPopup" & vbCrLf
str_Code = str_Code & "End Sub" & vbCrLf
str_Code = str_Code & "Private Sub Chart_Activate()" & vbCrLf
str_Code = str_Code & "CreateShortcutMenu" & vbCrLf
str_Code = str_Code & "End Sub" & vbCrLf
With ActiveWorkbook.VBProject.VBComponents(chrt.CodeName).CodeModule
.InsertLines 1, str_Code
End With
End Sub
It worked fine when I single stepped it one at a time but when I put it into my project I consistently got an Automation Error.