分享

如何在 VB 中以编程方式创建并调用 Excel 宏

 超酷图书馆 2014-01-18
      Private Sub Command1_Click()
       ' Start Excel
       Dim xlapp As Object 'Excel.Application
       Set xlapp = CreateObject("Excel.Application")

       ' Make it visible...
       xlapp.Visible = True

       ' Add a new workbook
       Dim xlbook As Object 'Excel.Workbook
       Set xlbook = xlapp.Workbooks.Add

       ' Add a module
       Dim xlmodule As Object 'VBComponent
       Set xlmodule = xlbook.VBProject.VBComponents.Add(1) 'vbext_ct_StdModule

       ' Add a macro to the module...
       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

       ' Remember to release module
       Set xlmodule = Nothing

       ' Clean up
       xlbook.Saved = True
       xlapp.Quit
      End Sub
						

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多