乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > EXCEL里的一段VBA代码,我想用VB封装成DLL再调用,

EXCEL里的一段VBA代码,我想用VB封装成DLL再调用,

作者:乔山办公网日期:

返回目录:excel表格制作


最基本的设置为:

1.新建一个文件夹——用于存放Excel文件和Vb启动画面文件。
2.打开VB——新e68a84e799bee5baa6e997aee7ad94330建一个 标准EXE。
3.设置Form1用户窗体的显示属性——Borderstyle、StartupPositio等。
<1>Borderstyle=0-none 去掉form1的标题栏

<2>StartupPositio=2 设置在屏幕中央显示窗口

<3>Icon 如果需要设置图标可以设置这个属性(可以不设置)

4.建立打开Excel文件的控件——这步是最重要的,也是Vb打开Excel的原理所在!添加一个Timer控件,将其Interval设为600(控制窗口显示的时间),双击Timer控件,在出现的代码窗口中输入以下代码:

Private Sub Timer1_Timer()
  Dim Exl As Object ' 建立一个对象变量
  Set Exl = CreateObject("Excel.Application") ' 设置对象为Excel(你可以通过修改这里,实现用VB打开其他类型文件)
  Exl.Workbooks.Open (App.Path & "\" & "多用户登录.xls")  ' 链接 EXCEL 文件
  Exl.Visible = True
  Unload Me
End Sub

5.生成EXE文件——命令在“文件”菜单中,将生成EXE文件保存到 1. 中建立的文件夹。

在VB中定义EXCEL对象,然后打开EXCEL文件,就能用EXCEL对象调用EXCEL VBA代码。
如果是打开Excel文件就自动运行宏,那么,可以在ThisWorkBook里面,在WorkBook_Open事件里面加入代码,这样启动Excel文件即可自动运行宏。或者在模块里面使用Auto_Open事件,也可以自动运行宏。

如果是在Excel使用过程中使用宏,就必须根据你的需要,选择合适的事件来触发宏代码。
比如,如果要A1单元格的值改变,就自动运行某个宏,那么就在Sheet_Change事件中,加入代码
If Target.Address = "$A$1" Then Call xx宏
如果是选取单元格变化触发某个宏,则用SHeet_SelectionChange事件。

所以,要自动运行某个宏,就必须明白你首先需要在什么时候触发宏,然后根据需要来选择相应的事件即可!!

要在VB中添加一个类模块(名称比如为myclass),在类模块中写这些函数(比如为test1),然后在excel中才能调用这些方法,调用写法为(myclass.test1)。
上面的代码要在类模块先加个变量用来存放Excel应用程序。
Sub test1()
set app=getobject("Excel.application")
app.Range("C2") = "1"
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网