为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

封装DLL例子

2017-11-13 4页 doc 17KB 20阅读

用户头像

is_037433

暂无简介

举报
封装DLL例子封装DLL例子 看下面常用的VBA界面处理代码,封装为Dll时应该如何改代码, '需要封装的VBA代码 Sub 恢复系统界面() On Error Resume Next With Application .Caption = "版权所有:GoodFortune From www.ExcelHome.net" .CommandBars("Worksheet Menu Bar").Enabled = True .CommandBars("Toolbar List").Enabled = True .Comman...
封装DLL例子
封装DLL例子 看下面常用的VBA界面处理代码,封装为Dll时应该如何改代码, '需要封装的VBA代码 Sub 恢复系统界面() On Error Resume Next With Application .Caption = "版权所有:GoodFortune From www.ExcelHome.net" .CommandBars("Worksheet Menu Bar").Enabled = True .CommandBars("Toolbar List").Enabled = True .CommandBars("Standard").Visible = True .CommandBars("Formatting").Visible = True .DisplayFormulaBar = True End With With ActiveWindow .DisplayGridlines = True .DisplayHeadings = True .DisplayHorizontalScrollBar = True .DisplayVerticalScrollBar = True .DisplayWorkbookTabs = True End With End Sub Sub 隐藏系统界面() On Error Resume Next With Application .CommandBars("Worksheet Menu Bar").Enabled = False .CommandBars("Toolbar List").Enabled = False .CommandBars("Standard").Visible = False .CommandBars("Formatting").Visible = False .DisplayFormulaBar = False End With With ActiveWindow .DisplayGridlines = True .DisplayHeadings = False .DisplayHorizontalScrollBar = False .DisplayVerticalScrollBar = False .DisplayWorkbookTabs = False End With End Sub 首先,一下,上面的VBA代码中有几个需要传递的变量(或者先分析“对象”),一个是Application,一个是ActiveWindow,其中ActiveWindow是Application的下一级对象,因此,按第2条原则,从最上一层开始,完整形式为Application.ActiveWindow,因此上面的代码可以改成如下的形式,用一个变量传递就可以了。 '封装为Dll的代码 Sub 恢复系统界面(oExcel as Excel.Application) On Error Resume Next With oExcel .Caption = "版权所有:GoodFortune From www.ExcelHome.net" .CommandBars("Worksheet Menu Bar").Enabled = True .CommandBars("Toolbar List").Enabled = True .CommandBars("Standard").Visible = True .CommandBars("Formatting").Visible = True .DisplayFormulaBar = True End With With oExcel.ActiveWindow .DisplayGridlines = True .DisplayHeadings = True .DisplayHorizontalScrollBar = True .DisplayVerticalScrollBar = True .DisplayWorkbookTabs = True End With End Sub Sub 隐藏系统界面(oExcel as Excel.Application) On Error Resume Next With oExcel .CommandBars("Worksheet Menu Bar").Enabled = False .CommandBars("Toolbar List").Enabled = False .CommandBars("Standard").Visible = False .CommandBars("Formatting").Visible = False .DisplayFormulaBar = False End With With oExcel.ActiveWindow .DisplayGridlines = True .DisplayHeadings = False .DisplayHorizontalScrollBar = False .DisplayVerticalScrollBar = False .DisplayWorkbookTabs = False End With End Sub 由上可见,封装中需要修改的是将对象变量换成从根一级开始的完整形式,其他部分则不需 要修改。 【总结】VBA封装为Dll的关键有以下两点: 1、在vb中要引用,这样可以使用早期绑定的方法定义变量,加快程序运行速度; 2、变量的传递要从最上层的一级开始,并且要依次传递到需要的层次,因此在VBA中对象要使用完整的形式示。比如,要使用cell(1,1),则应改为类似这样的形式 Application.Thisworkbook.sheets(1).cell(1,1)。 第3条及以后几条正在思考中..... 1.请问能否用VBA代码实现VB中的引用手工操作,如何实现? 2.如果用VBA代码实现DLL的引用,如何定义变量 3.是不是注册DLL(regsvr32exe /s MyTest.DLL) 之前一定要引用一下这个DLL
/
本文档为【封装DLL例子】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索