正文

制作和EXCEL内部函数一样的VBA函数[ZT]2006-06-09 10:05:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/otot/15612.html

分享到:

我们知道,Excel中函数都有一个说明,帮助使用,我们也要给这个函数添加一个说明。在工具栏中选择“对象浏览器”,选择我们所做Tax模块,在其[右键]→[属性]中添加关于对这个函数的描述,这个描述将出现在Excel中关于函数的说明中,如果你要对软件保密的话,在“模块”上按右键,[VBAproject属性]→[保护中设置密码],嘿嘿!别人就看不到你的源程序了。

这时,退出,回到Excel界面,将这个文件另存为:类型为“Microsoft Excel 加载宏”,在Excel 2000中,它会自动更改保存位置为c:\windows\application data\microsoft\addins(系统装在c:\windows),当然,你也可以把这个文件tax.xla,直接复制到office\library(office的安装路径下),而在Excel 97中只能放在后一个位置。使用函数很简单,点击[工具]→[加载宏],在你创建的Tax前打个勾,在单元格直接输入“=tax()”,是不是像Microsoft office提供的函数一样,很有点专业味道。

假如你把调用这个宏的Excel文件拷贝到别的机子上运行,会出现“当前所要打开的文档含有其他文档的链接,是否要使用其他工作簿中的改动更新当前工作簿”的提示,可以显示原先计算的数据,这是因为在Excel中的[工具]→[选项]→[重新计算]中,一般选中“保存外部链接数据”,但你不能重新计算,因为不能链接这个宏,别人机子上根本就没有这个函数。

只不过在“加载宏”时,我自己创建的函数,是一个英文标题,而且下面也没有说明,你是不是觉得有点不够专业。跟我来,再教你一招,如果你使用的是Excel 2000时,找到tax.xla,点击[右键]→[属性]→[摘要],在描述里添加所需内容来对函数进行相关描述,其中“标题”部分将出现在“加载宏”的方框中,“备注”部分将出现在下面的函数说明部分。这时再看看,够不够专业。在Excel 97中也可以在其右键属性中作相应更改。

把你自己的自定义函数加到特定函数分类中

示例
本示例将用户定义的宏“TestMacro”添加到名为“My Custom Category”的自定义类别中。运行本示例后,可以看到包含“TestMacro”用户定义函数的“My Custom Category”显示在“插入函数”对话框的“或选择类别”下拉列表中。

Function TestMacro()
    MsgBox ActiveWorkbook.Name
End Function

Sub AddUDFToCustomCategory()
    Application.MacroOptions Macro:="TestMacro", Category:="My Custom Category"
End Sub


MacroOptions 方法
参阅应用于示例特性对应于“宏选项”对话框中的选项。还可使用此方法将用户定义函数 (UDF) 显示在“插入函数”对话框的内置类别或新类别中。

expression.MacroOptions(Macro, Description, HasMenu, MenuText, HasShortcutKey, ShortcutKey, Category, StatusBar, HelpContextID, HelpFile)
expression      必需。该表达式返回一个 Application 对象。

Macro    Variant 类型,可选。宏的名称或用户定义函数 (UDF) 的名称。

Description      Variant 类型,可选。宏的说明。

HasMenu      Variant 类型,可选。忽略该参数。

MenuText      Variant 类型,可选。忽略该参数。

HasShortcutKey      Variant 类型,可选。如果该值为 True,则为此宏指定一个快捷键(必须指定 ShortcutKey 参数)。如果该值为 False,则不为此宏指定快捷键。如果此宏已经指定了快捷键,则将该参数设为 False 可清除已指定的快捷键。默认值为 False。

ShortcutKey      Variant 类型,可选。如果 HasShortcutKey 参数为 True,则必选;否则忽略该参数。指定快捷键。

Category    Variant 类型,可选。用于指定现有的宏函数类别的整数(例如,财务、日期与时间或用户定义)。请参阅说明部分,以确定映射到内置类别的整数。还可指定自定义类别的字符串。如果提供了一个字符串,它就会作为类别名称显示在“插入函数”对话框中。如果此类别名称从未使用过,则新的类别会用此名称定义。如果使用的类别名称与某个内置名称相同,则 Excel 会将用户定义的函数映射到此内置名称。

StatusBar      Variant 类型,可选。该宏的状态栏文字。

HelpContextId      Variant 类型,可选。用于指定对应于该宏的帮助主题上下文标识符的整数。

HelpFile      Variant 类型,可选。包含 HelpContextId 定义的帮助主题的帮助文件名。

说明
下表列出了哪些整数被映射到可在 Category 参数中使用的内置类别。

整数 类别
1 财务
2 日期与时间
3 数学与三角函数
4 统计
5 查找与引用
6 数据库
7 文本
8 逻辑
9 信息
10 命令
11 自定义
12 宏控件
13 DDE/ 外部
14 用户定义
15 第一个自定义类别
16 第二个自定义类别
17 第三个自定义类别
18 第四个自定义类别
19 第五个自定义类别
20 第六个自定义类别
21 第七个自定义类别
22 第八个自定义类别
23 第九个自定义类别
24 第十个自定义类别
25 第十一个自定义类别
26 第十二个自定义类别
27 第十三个自定义类别
28 第十四个自定义类别
29 第十五个自定义类别
30 第十六个自定义类别
31 第十七个自定义类别
32 第十八个自定义类别

阅读(8379) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册