VB封装Excel宏代码的三个方法.doc

VB封装Excel_VBA成DLL技巧 ? ? 使用VB6.0在WinXP_sp2、Excel 2000环境下制作、测试通过。 一、启动VB6.0: ? ?执行:“文件夹(F)”——“新建(N)”——选择“ActiveX DLL”,如下图1: 二、引用:VB中对Excel的引用? 执行:“工程(P)”——“引用(N)”——选择所要引用的项目:如下图2 Excel 2000中: Microsoft Excel 9.0??Object Library Microsoft?Office?9.0??Object Library Excel 2003中: Microsoft Excel 11.0??Object Library Microsoft Office 11.0??Object Library 三、编写代码: ??1、将工程默认名称“工程1”,改为“zygtest”,将类模块默认名称“Class1”, 改为“zyg365”, ??2、在类模块的代码编辑区写入代码:如下图3 ? ?模块名称为“hongtong”,代码如下 ? ?在VB中编写代码时:要注意以下声名 Dim XLAPP As Object Set XLAPP = GetObject(, Excel.Application) 代码中引用对象,如SHEET,Cell等,前面要加“XLAPP.” ? ? (或按照 Sub?hongtong() 中的格式编写。) Sub?hongtong()? ? ? ?Dim excelApp As New Excel.Application ? ?Dim excelWorkBook As Excel.Workbook ? ?Dim excelWorksheet As Excel.Worksheet ? ?Set excelWorkBook = excelApp.Workbooks.Add??创建新工作簿 ? ?Set excelWorksheet = excelWorkBook.Sheets(1) ? ?excelWorksheet.Cells(2, 3) = 宏通? ?? ?写入数据 ? ?excelWorksheet.Cells(3, 4) = zyg365? ? 写入数据 ? ?excelApp.Visible = True? ?? ???显示excel界面,用于调试 ? ?excelWorkBook.PrintPreview? ???打印预览 ? ?excelWorkBook.PrintOut? ?? ?? ?打印输出 ? ?excelWorkBook.Saved = True ? ?excelWorkBook.Close? ?? ?? ???关闭工作薄 ? ?excelApp.Quit? ?? ?? ?? ?? ???退出excel End Sub 四、工程属性设置:(可以不设置,本步骤可以省略) ? ?为了使自己开发的程序更规范,可以对本工程的属性加以描述:如下图4 ? ?执行:“工程(P)”——“工程1属性(E)…”(当前工程中为:“zygtest属性(E)…”) 五、保存工程、测试、打包生成Dll文件: 1、保存:单击保存,保存到一个文件夹中; 2、测试:执行工具栏上的“启动”(右向的三角图标)按钮,检查是否存在错误; 3、打包生成Dll文件: ? ?执行:“文件(F)”——“生成工程1.dll(K)”(当前工程中为:“zygtest.dll”), 重命名为“zyg.dll”,至此,Dll文件制作结束。 六、在Excel_VBA工程中引用、调用zyg.dll文件:如下图5 1、引用zyg.dll文件: ? ?首先在Excel的VBE窗口中,执行“工具(T)”——“引用(R)”——在“引用”对话框中, 单击“浏览(B)…”按钮,找到“zyg.dll”文件——“确定”即可。 ? ?在工作簿事件中,编写代码:工作簿启动时,注册“zyg.dll”控件,工作簿关闭时,反注册 “zyg.dll”控件: 在ThisWorkbook中: Private Sub Workbook_Open() 注册、引用zyg.dll ??Shell Regsvr32 /s VBA.Chr(34) ThisWorkbook.Path \zyg.dll VBA.Chr(34), vbHide End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) 反注册zyg.dll ??Shell Regsvr32 /u /s VBA.Chr(34) ThisWorkbook.Path \zyg.dll VBA.Chr(34), vbH

文档评论(0)

1亿VIP精品文档

相关文档