Office中国论坛/Access中国论坛

标题: (分享) Excel加载宏 [打印本页]

作者: tanhong    时间: 2008-6-24 19:41
标题: (分享) Excel加载宏
Excel加载宏

一、加载宏简介


加载宏可以扩展Excel的功能,与Excel的内置功能一致,是为Excel提供自定义命令或自定义功能的补充程序。某些加载宏还提供了可用于公式中的新的工作表函数。
使用某加载宏必须已安装,且须在加载宏对话框中进行调用。加载宏默认安装在Microsoft Office\Office 文件夹中的 Library 文件夹或 Addins 文件夹,或它们的子文件夹中。
其中,Excel加载宏是包含了所需要实现的功能的函数或过程的工作薄(保存为.xla文件)。

二、加载宏分类

1
、Excel加载宏
由Excel VBA代码编写,Excel 2003以前的版本中扩展名为.xla,在Excel 2007中扩展名为.xlam。

2
、COM加载宏
由VB或VC或Office Developer Edition开发编写。COM(Component Object Model)加载宏,扩展名为DLL或EXE,可以与支持加载宏的所有Office应用程序一起使用。其经过了编译后,有更可靠的安全性。但其不能包含Excel的工作表或图表。

3
、自动化加载宏
由VB或VC编写本文只针对Excel加载宏,对COM加载宏和自动化加载宏请查阅有关资料。


三、加载宏的特点                           
加载宏实现了代码和数据的分离,且不需要在Excel启动时加载,并为Excel提供了附加功能。
1、将自定义工作表函数作为加载宏,可以直接在其它工作薄中应用,而不必像在其它工作薄中运用自定义函数时必须加上函数所在工作薄的名称。
2、在存储加载宏时,若已对该加载宏进行属性设置,则在将该加载宏调入加载宏对话框中后可以清楚地看到该加载宏实现功能的说明。
3、当Excel启动时,可以自动打开已安装的加载宏,而不管加载宏存储在哪个目录下。
4、在关闭/卸载某加载宏时,不会显示诸如“是否保存对该加载宏的更改?”的提示。
5、可以避免在打开工作簿时出现宏警告。

四、加载宏的调用

调用方法:Excel 2003中:工具——加载宏(I)……,Excel 2007中:先Alt+T,然后按 I 键,出现加载宏对话框,该对话框列出了所有可用的加载宏的名称,复选框已选中的加载框处于打开状态。利用该对话框可以对加载宏进行添加和管理。如果需要安装/卸载某加载宏,选中/取消选中相应的复选框即可。也可以通过浏览按钮添加创建的自定义加载宏。默认情况下,加载宏对话框中的文件类型有:XLA文件(从XLS文件创建的加载宏)和XLL文件(单独编译过的DLL文件)。
若选中相应加载宏的复选框后,Excel的用户界面将发生一些微小的变化。譬如,安装了“分析工具库”加载宏后,将在工具菜单中出现一个新的“数据分析(D)…”菜单项;安装了“欧元转换工具”加载宏后,会出现一个新的工具栏EuroValue。若加载宏中只包含自定义工作表函数,则该函数会出现在“插入函数”对话框中(但如果用Private关键字声明了这个Function过程,则不会出现在此对话框中)。
如果在加载宏对话框中没有显示所需的加载宏程序,则需要按浏览按钮添加或创建加载宏(见下面如何创建加载宏介绍)。
注:使用加载宏对话框中的自动化…按钮可以安装COM加载宏。

五、Excel中已有的加载宏

已有的加载宏简介:
1、分析工具库:提供一组包括金融、统计和工程类的数据分析工具和函数,增添了Excel中没有包含的统计和分析功能。主要有方差分析、相关系数、协方差、描述统计、指数平滑、F-检验 双样本方差、傅利叶分析、直方图、移动平均、随机数发生器、排位与百分比排位、回归、抽样、t检验、z检验等。
2、分析工具库——VBA函数:内容与上面的相同,允许开发人员用分析工具库的语法发布金融、统计及工程分析工具和函数。为分析工具库提供的VBA函数。
3、条件求和向导:提供了对列表中的数据根据不同的条件求和的工具。
4、欧元转换工具:提供用于欧元转换的工具。将数值的格式设置为欧元格式,并提供 EUROCONVERT 工作表函数用于转换货币。
5、Internet Assistant VBA:开发人员可用 Internet Assistant 语法,将 Excel 数据发布到网站上。
6、查找向导:创建在列表中查找数据的公式。
7、规划求解:提供了公式求解和优化的工具。对基于可变单元格和条件单元格的假设分析方案进行求解计算。
各加载宏详细的介绍见以后的学习专题。

六、如何创建Excel加载宏                     
不需要其他软件或工具,从Excel工作薄即可创建加载宏。任何.xls文件也都可以转换为加载宏,但并不是所有的.xls文件都适合用作加载宏,一般将包含通用功能的工作薄转换成加载宏可以为使用提供很大的方便。创建Excel加载宏的步骤如下:
1、新建一个Excel文档。
2、打开VBE编辑器,插入一个模块。
3、添加一个函数或程序,即所需实现功能的函数或程序。
4、设置加载宏名称。即返回Excel主界面,打开文件菜单下的属性菜单,输入相关内容,其中标题名即为加载宏的名称,备注栏中的说明即为对加载宏功能的描述,当选中这个加载宏时,这些说明将出现在加载宏对话框的底部。
5、保存工作薄。打开文件菜单中的另存为…命令对话框,输入文件名,并在保存类型下拉列表中选择“Microsoft Office Excel加载宏”,单击保存按钮。
现在,打开“加载宏”对话框,单击“浏览…”按钮打开刚创建的加载宏,则该加载宏将出现在对话框的列表中。需要使用该功能时,只需在单元格中输入该函数或程序名即可。
注:转换成加载宏的工作簿必须至少含有一个工作表,且工作表须处于活动状态。

七、处理加载宏的VBA过程                    
加载宏是AddIns集合的一个成员。在Excel2003中,构成AddIns集合的部分加载宏的文件及其位置存储在Windows注册表中的下列位置:

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager



但Excel附带的标准加载宏不会出现在这个注册表中。
1、向AddIns集合添加新的AddIn对象的方法
(1)在Excel菜单中,选择工具——加载宏,单击浏览按钮,找到所需加载宏后确定即可。
(2)使用AddIns集合的Add方法。如Application.AddIns.Add “<加载宏文件路径>”。
2、从AddIns集合中删除某加载宏
(1)编辑Windows注册表(使用regedit.exe),但并不适用于所有的加载宏文件。
(2)直接删除或移动该.XLA文件。
3、关于AddIns对象属性
共有14个属性,可以在帮助中查阅,其中5个为隐藏属性。主要的属性有:
Name属性、Path属性、FullName属性、Title属性、Comments属性、Installed属性。
4、关于AddIns对象事件
有两个事件,即AddInInstall(安装时即会发生)和AddInUninstall(卸载时即会发生)。


整理的资料:[attach]30721[/attach]

[ 本帖最后由 tanhong 于 2008-6-24 19:45 编辑 ]
作者: chenwm1973    时间: 2008-6-24 19:46
[:50] [:50] [:50]
学习......
作者: tanhong    时间: 2008-6-24 20:02
标题: Internet Assistant VBA 加载项模块代码

作者: tanhong    时间: 2008-6-24 20:05
其它加载项源码,在后续发帖中与大家分享
作者: huangqinyong    时间: 2008-6-24 20:53
[:11] [:11] 谢谢分享
作者: tanhong    时间: 2008-6-24 22:44
在EXCEL中已有的加载宏的后缀名为 xla,所以我们在office文件夹中搜索一下就能找到他们。

加载宏                                   原文件名      
查阅向导                                LOOKUP.XLA
条件求和向导                         SUMIF.XLA
欧元工具                                EUROTOOL.XLA
规划求解                                SOLVER.XLA
Internet Assinstant VBA         HTML.XLA
分析工具库——VBA函数        PROCDB.XLA
                                              ATPVBACS.XLA
                                              ATPVBAEN.XLA
                                              FUNCRES.XLA

        也许大家没想到,这些文件并未进行编译,而只是对代码进行了简单加密,你可以利用相关软件轻易解开,在里面你会找到不少好“东西”,试试吧!你会有意想不到的惊喜。
作者: fzwjz    时间: 2008-10-17 16:32
谢谢分享[:50] [:50] [:50]
作者: 419957604    时间: 2008-11-1 13:04
标题: 喳喳
大哥,你的那个加密文件,,,,,,,,,,,,密码是多少,,
作者: fzwjz    时间: 2008-11-1 13:08
谢谢分享
作者: mikiwenwen    时间: 2008-11-11 23:13
请问解压密码多少啊
作者: A11904942    时间: 2008-11-19 10:46
PASSWORD??
作者: c2franck    时间: 2009-1-1 22:50
标题: ~~~
恩……很不错
作者: beenet    时间: 2009-3-13 09:31
谢谢分享 关注EXCEL
作者: 375268527    时间: 2009-3-18 11:57
请问解压密码多少啊
作者: benfeng3    时间: 2009-10-19 13:03
谢谢分享了~~~~
作者: qiqile603    时间: 2009-11-12 14:26
xuexi !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者: li08hua    时间: 2010-4-26 00:03
高手啊
作者: 刘青梅    时间: 2016-12-5 00:00
谢谢分享




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3