如何在VB中打开一个Excel文件并调用Excel文件自身的VBA宏?

最近在做一个项目,项目的主体是基于Excel的VBA开发。项目的各个要求比较零碎,每一项要求之间互相独立,于是每一项要求就由一个Excel表格来单独实现,项目结果是产生了若干个零碎的带有VBA宏的Excel文件。

为了使软件整体化、结构化,借助于VB,绘制了一个窗体,窗体上有若干个Button,每一个Button对应着一个带有VBA宏的Excel文件

借助于以下语句将Excel文件打开

Private Sub Command1_Click()
    Dim ExcelApp As Object
    Dim MyExcel As Object
    
    Set ExcelApp = CreateObject("Excel.Application")
    ExcelApp.Visible = True
    Set MyExcel = ExcelApp.workbooks.open(App.Path + "\模板.xls")
    MyExcel.Activate

End Sub

下一个问题便是如何调用已经编制好了的VBA宏呢?首先想到的思路是把VBA宏复制过来,放到VB程序中,然后在Sub Command1_Click()中调用它,但是实施起来发现很困难,因为Application、workbooks、ThisWorkbook这些Excel VBA中习以为常的词汇VB却看不明白,需要一点一点的告诉Vb这是什么意思,非常麻烦,于是就想,能否让VB直接去调用Excel VBA中的宏呢?

ExcelApp.run "ThisWorkBook.FillProcedure"        'run的调用者应是Application对象,而且,宏的名字前面要加ThisWorkBook.

感谢http://blog.csdn.net/zhu2695/article/details/16974765中的提示。

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值