Customizing Menus & Toolbars with VBA in Hindi
Makhanlal Chaturvedi University / BCA / VBA programming
Customizing Menus and Toolbars with VBA in Hindi
Customizing Menus and Toolbars with VBA in Hindi
Creating custom menus using VBA in Modifying Menus & Toolbars in Hindi
VBA (Visual Basic for Applications) рдХреА рдорджрдж рд╕реЗ рд╣рдо Excel рдпрд╛ Word рдЬреИрд╕реЗ Microsoft Office рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдореЗрдВ рдЕрдкрдиреЗ рдорди рдореБрддрд╛рдмрд┐рдХ menus рдФрд░ toolbars рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рд╣рдо рдЕрдкрдиреЗ daily tasks рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ access рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ productivity рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред custom menu рдмрдирд╛рдирд╛ рдорддрд▓рдм рдЕрдкрдиреА рдЬрд░реВрд░рдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирдпрд╛ menu option рдЬреЛрдбрд╝рдирд╛ред рдпрд╣ process beginners рдХреЗ рд▓рд┐рдП рднреА рдЖрд╕рд╛рди рд╣реИред
- рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, VBA Editor рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП Alt + F11 рджрдмрд╛рдПрдВред
- Insert тЖТ Module рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
- рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ VBA code рд╡рд╣рд╛рдВ paste рдХрд░реЗрдВ:
Sub CreateCustomMenu()
Dim cb As CommandBar
Dim cbc As CommandBarControl
' рдкреБрд░рд╛рдирд╛ menu рд╣рдЯрд╛рдПрдВ рдпрджрд┐ рдореМрдЬреВрдж рд╣реЛ
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("My Menu").Delete
On Error GoTo 0
' рдирдпрд╛ menu рдмрдирд╛рдПрдВ
Set cb = Application.CommandBars("Worksheet Menu Bar")
Set cbc = cb.Controls.Add(Type:=msoControlPopup, Temporary:=True)
cbc.Caption = "My Menu"
' menu рдХреЗ рдЕрдВрджрд░ options рдЬреЛрдбрд╝рдирд╛
With cbc.Controls.Add(Type:=msoControlButton)
.Caption = "Option 1"
.OnAction = "MyMacro1"
End With
With cbc.Controls.Add(Type:=msoControlButton)
.Caption = "Option 2"
.OnAction = "MyMacro2"
End With
End Sub
рдЗрд╕ code рд╕реЗ рдПрдХ рдирдпрд╛ menu "My Menu" Excel рдХреА menu bar рдореЗрдВ рдЬреБрдбрд╝ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рджреЛ options рд╣реЛрдВрдЧреЗ тАУ Option 1 рдФрд░ Option 2ред рдЬрдм рдЖрдк рдЗрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВрдЧреЗ рддреЛ MyMacro1 рдФрд░ MyMacro2 рдирд╛рдо рдХреЗ macros run рд╣реЛрдВрдЧреЗред
Adding buttons to toolbars programmatically in Modifying Menus & Toolbars in Hindi
Menu рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЖрдк toolbar рдореЗрдВ рднреА buttons рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ user рдПрдХ click рдореЗрдВ macro run рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рддрд░реАрдХрд╛ рдЕрдзрд┐рдХ convenient рд╣реЛрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдмрд╛рд░-рдмрд╛рд░ рдПрдХ рд╣реА task рдХрд░рдирд╛ рд╣реЛред
- Toolbars рдореЗрдВ button рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо CommandBars рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
- рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ code рдПрдХ рдирдпрд╛ toolbar рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ buttons рдЬреЛрдбрд╝рддрд╛ рд╣реИ:
Sub AddToolbarButton()
Dim myToolbar As CommandBar
Dim myButton As CommandBarButton
' рдкреБрд░рд╛рдирд╛ toolbar delete рдХрд░реЗрдВ рдпрджрд┐ рдореМрдЬреВрдж рд╣реЛ
On Error Resume Next
Application.CommandBars("MyToolbar").Delete
On Error GoTo 0
' рдирдпрд╛ toolbar рдмрдирд╛рдПрдВ
Set myToolbar = Application.CommandBars.Add(Name:="MyToolbar", Position:=msoBarTop, Temporary:=True)
' рдкрд╣рд▓рд╛ button рдЬреЛрдбрд╝реЗрдВ
Set myButton = myToolbar.Controls.Add(Type:=msoControlButton)
With myButton
.Caption = "Run Task"
.Style = msoButtonIconAndCaption
.OnAction = "MyMacro"
.FaceId = 59
End With
myToolbar.Visible = True
End Sub
рдЗрд╕ code рд╕реЗ toolbar рдКрдкрд░ show рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо "MyToolbar" рд╣реЛрдЧрд╛ рдФрд░ рдЙрд╕рдореЗрдВ рдПрдХ button рд╣реЛрдЧрд╛ "Run Task" рдирд╛рдо рдХрд╛ред рдЙрд╕ рдкрд░ click рдХрд░рдиреЗ рд╕реЗ "MyMacro" рдирд╛рдо рдХрд╛ macro run рд╣реЛрдЧрд╛ред
Setting icons and captions for toolbar controls in Modifying Menus & Toolbars in Hindi
Toolbar рдХреЛ visually attractive рдФрд░ user-friendly рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрд╕рдХреЗ buttons рдкрд░ icon (image) рдФрд░ caption (text) рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред FaceId рдПрдХ predefined icon рдХрд╛ code рд╣реЛрддрд╛ рд╣реИ рдЬреЛ Excel рдореЗрдВ already рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИред
- Caption тАУ button рдкрд░ рдЬреЛ text рд▓рд┐рдЦрд╛ рд╣реЛрддрд╛ рд╣реИред
- FaceId тАУ icon рдХреЛ represent рдХрд░рддрд╛ рд╣реИред рд╣рд░ icon рдХрд╛ рдПрдХ unique number рд╣реЛрддрд╛ рд╣реИред
- Style тАУ рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ button рдкрд░ рд╕рд┐рд░реНрдл icon рджрд┐рдЦреЗрдЧрд╛, рд╕рд┐рд░реНрдл caption рдпрд╛ рджреЛрдиреЛрдВред
рдЙрджрд╛рд╣рд░рдг:
With myButton
.Caption = "Save Data"
.FaceId = 71 ' floppy disk icon
.Style = msoButtonIconAndCaption
.OnAction = "SaveDataMacro"
End With
рдЗрд╕ code рд╕реЗ button рдкрд░ floppy disk рд╡рд╛рд▓рд╛ icon рдФрд░ "Save Data" рд▓рд┐рдЦрд╛ рд╣реБрдЖ caption рджрд┐рдЦреЗрдЧрд╛ред рдЬрдм рдЗрд╕ рдкрд░ click рдХрд░реЗрдВрдЧреЗ рддреЛ SaveDataMacro macro run рд╣реЛрдЧрд╛ред
Resetting or restoring original menus and toolbars in Modifying Menus & Toolbars in Hindi
рдХрднреА-рдХрднреА рд╣рдореЗрдВ Excel рдХреА original toolbar рдпрд╛ menu bar рд╡рд╛рдкрд╕ рдЪрд╛рд╣рд┐рдП рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдЕрдЧрд░ custom menus рдареАрдХ рд╕реЗ рдХрд╛рдо рди рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рдРрд╕реЗ рдореЗрдВ рд╣рдо VBA рд╕реЗ original settings restore рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ code Excel рдХреА default menus рдХреЛ restore рдХрд░рддрд╛ рд╣реИ:
Sub ResetMenuBar()
' Worksheet menu bar reset рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
Application.CommandBars("Worksheet Menu Bar").Reset
' Standard рдФрд░ Formatting toolbar reset рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
Application.CommandBars("Standard").Reset
Application.CommandBars("Formatting").Reset
End Sub
рдЗрд╕рд╕реЗ Excel рдХреА default рд╕реНрдерд┐рддрд┐ рдмрд╣рд╛рд▓ рд╣реЛ рдЬрд╛рдПрдЧреА рдФрд░ рдХреЛрдИ рднреА custom menu рдпрд╛ button рдЬреЛ рдЖрдкрдиреЗ рдЬреЛрдбрд╝реЗ рдереЗ, рд╡рд╣ рд╣рдЯ рдЬрд╛рдПрдВрдЧреЗред рдпрд╣ method helpful рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдЧрд▓рддреА рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ unwanted buttons рдпрд╛ menus рдмрдирд╛ рджреЗрдВред
рдорд╣рддреНрд╡рдкреВрд░реНрдг Tips beginners рдХреЗ рд▓рд┐рдП
- CommandBars рдХреЗрд╡рд▓ Classic Office Interface рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред Office Ribbon Interface (2007 рдФрд░ рдмрд╛рдж рдореЗрдВ) рдХреЗ рд▓рд┐рдП RibbonX рдФрд░ XML customizations рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
- FaceId рдХреЗ рд▓рд┐рдП рдЖрдк FaceId Browser рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рд╕рднреА icons рдХреЗ ID рдорд┐рд▓ рдЬрд╛рддреЗ рд╣реИрдВред
- рд╣рд░ macro рдХрд╛ рдирд╛рдо рдФрд░ рдЙрд╕рдХреА functionality clear рд░рдЦреЗрдВ рддрд╛рдХрд┐ user рдХреЛ рдкрддрд╛ рд╣реЛ рд╡реЛ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред
- Temporary:=True рдХрд╛ рдорддрд▓рдм рд╣реИ рдЬрдм Excel рдмрдВрдж рд╣реЛрдЧрд╛ рддреЛ рдпрд╣ menu/button рднреА remove рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдЕрдЧрд░ рдЖрдк permanent menu рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ add-in create рдХрд░реЗрдВред
Useful FaceId Examples
FaceId | Icon | Description |
---|---|---|
59 | ЁЯЫая╕П | General Settings Icon |
71 | ЁЯТ╛ | Save Icon |
19 | ЁЯУК | Chart Icon |
293 | ЁЯФН | Search Icon |
рдЗрд╕ рдкреВрд░реЗ process рд╕реЗ рдЖрдк Excel рдХреЛ рдЕрдкрдиреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ customize рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдмрд╛рд░-рдмрд╛рд░ рдПрдХ рд╣реА рддрд░рд╣ рдХреЗ macros рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВ рддреЛ custom menu рдФрд░ toolbar buttons рдмрдирд╛рдирд╛ рдЖрдкрдХреЗ workflow рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред