Private Sub Command1_Click()
' Starta Excel
Dim xlapp As Object 'Excel.Application
Set xlapp = CreateObject("Excel.Application")
' Gör Excel synligt
xlapp.Visible = True
' Addera en ny workbook
Dim xlbook As Object 'Excel.Workbook
Set xlbook = xlapp.Workbooks.Add
' Addera en module
Dim xlmodule As Object 'VBComponent
Set xlmodule = xlbook.VBProject.VBComponents.Add(vbext_ct_StdModule)
' Addera ett macro till modulen...
Dim strCode As String
strCode = _
"sub MyMacro()" & vbCr & _
" msgbox ""Inside generated macro!!!"" " & vbCr & _
"end sub"
xlmodule.CodeModule.AddFromString strCode
' Run the new macro!
xlapp.Run "MyMacro" ' ** Create a new toolbar with a button to fire macro...
' Add a new toolbar...
Dim cbs As Object 'CommandBars
Dim cb As Object 'CommandBar
Set cbs = xlapp.CommandBars
Set cb = cbs.Add("MyCommandBar", 1, , True) '1=msoBarTop
cb.Visible = True
' Make it visible & add a button...
Dim cbc As Object 'CommandBarControl
Set cbc = cb.Controls.Add(1) '1=msoControlButton
' Assign our button to our macro
cbc.OnAction = "MyMacro" ' Set text...
cbc.Caption = "Call MyMacro()" ' Set Face image...
' 51 = white hand
' 25 = glasses
' 34 = ink dipper ' etc...
cbc.FaceId = 51 ' Pause so you can inspect results...
MsgBox "All done, click me to continue...", vbMsgBoxSetForeground
' Kom ihåg att släppa modulen
Set xlmodule = Nothing ' Clean up
xlbook.Saved = True
xlapp.Quit
End Sub