VBAマクロを編集するマクロ

マクロでマクロを書きたくなったけど、これが実は結構難しい。いや、実装自体は全然難しくないのだが、検索するのが難しい。(笑)
普通に Excel マクロ とかで検索しても、全然出てきませんからね。

んで肝心のやり方は以下のようにします

Dim v As VBComponent
Set v = ActiveWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule)
Call v.CodeModule.InsertLines(1, "sub s1()" & vbCrLf & "  msgbox ""test""" & vbCrLf & "end sub")

これを実行すると、現在開いているブックに標準Moduleを追加して、その標準Moduleに

sub s1()
  msgbox "test"
end sub

というコードを埋め込みます。