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

原创 2007年09月13日 11:28:00
1. 在 Visual Basic 中创建一个标准 EXE 项目。默认情况下会创建 Form1。
2. 单击“项目”菜单中的“引用”,然后选中“Microsoft Visual Basic for Applications Extensibility”。
3. 向 Form1 中添加一个 CommandButton。
 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

相关文章推荐

如何使用 ADO.NET 和 Visual C++ .NET 以编程方式创建 SQL Server 数据库

编程人员常需要以编程方式创建数据库。本文介绍如何使用 ADO.NET 和 Visual C++ .NET 以编程方式创建 Microsoft SQL Server 数据库。 回到顶端 ...

以编程方式使用uddi代码

  • 2008年10月09日 15:56
  • 5KB
  • 下载

wordpress :如何以编程方式插入数据

插入的帖子 你记得回来时我 2008 , wp 票吗?本网站被(就我知道的)社会 wordpress 内创建 100 %的投票站点.用户可以提交一篇文章,它被自动发布博客. 插入一个 post 以...

数据适配器对象——以编程方式访问数据库

1、 配置数据适配器 初始配置有两个要求: 1)         可以获取数据的Select语句,或SqlCommand(如果使用Select语句,它将用于在内部生成SqlCommand); ...
  • valeb
  • valeb
  • 2012年04月23日 10:28
  • 453

以编程方式使用dojo中调色板并获得调色板的颜色值

获得调色板的颜色值

现在,以编程方式在 Electron 中上传文件,是非常简单的!

具体到以编码方式上传文件这个问题上.这个问题的完整描述应该是类似于这样: 网站有自己的登录认证机制,在不需要在对网站登录机制做任何修改的前提下,如何自动上传用户相关的文件,比如用户头像?...

以编程方式使用动画

Silverlight 4(共 4)对本文的评价是有帮助 - 评价此主题 有时您可能要动态(即时)更改动画的属性。 例如,您可能要调整应用到对象的动画行为,这取...

JSF —— 以编程方式访问用户界面组件

Facelets页面:hello.xhtml 3个用户界面组件:InputText、OutputText和CommandButton。用户在输入字段(InputText)中输入文本值并单击按钮(C...

Spark-sql:以编程方式执行Spark SQL查询(通过反射的方式推断出Schema,通过StrutType直接指定Schema)

1、编写Spark SQL查询语句在这之前创建Maven项目。创建的过程如:http://blog.csdn.net/tototuzuoquan/article/details/74571374在这里...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在 VB 中以编程方式创建并调用 Excel 宏
举报原因:
原因补充:

(最多只允许输入30个字)