ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 18227|回复: 28

[原创] 加载宏安装包的制作

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2014-2-7 15:10 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:XLA加载宏开发
本帖最后由 console 于 2014-2-7 15:10 编辑

加载宏安装包的制作
一、需要的程序
(1)       一个加载宏
(2)       一个安装包制作工具,我用的是setup factory 9
               这个是setup factory 9的下载地址:http://dl.cr173.com//soft3/SetupFactory9.zip
二、安装包的制作
第一部分:初始设置
  (1)       启动setup factory 9,选择“Create a new project
  (2)       在弹出对话框的what's your product name or title?项下(第二个文本框)输入软件名称                                                      
  (3)       选择平台,一般默认都是32
(4)   单击“Browse”按钮后,选择需要安装的加载宏所在的文件夹(你需要把加载宏用一个文件夹单独保存起来)
(5)        设置安装向导的主题风格。我对外观神马的不讲究,就默认wizard好了
  (6)       此后就各种默认,一直到完成就行了。需要注意就是选择安装界面的语言,最好选择简体中文,要不然安装向导显示的就是英文
第二部分:设置加载宏的安装路径
(1)       完成上述新建的初始设置过程后,右击我们添加的加载宏文件,在子菜单中单击“File Properties”(最后一个选项)
(2)       在弹出的对话框中,在Install项下(倒数第二个文本框)设置路径为C:\Documents and Settings\Administrator\Application Data\Microsoft\AddIns,此安装路径是Excel程序中加载宏的默认保存路径。进行完此设置后,我们的加载宏就会安装到这个文件夹中。
第三部分:注册表的修改
(1)       主界面右边的Actions选项,可以为安装过程中的各个环节设置操作,各个环节分别是“启动时”、“预安装”、“安装出错时”、“安装后”、“关机时”
(2)       下面要为我们的加载宏写一点代码,这样,安装完程序,加载宏就可以被自动加载。其实质就是通过代码修改注册表。点击Actions项下的“On Post Install”(安装后)选项,将下述代码粘在弹出对话框的文本编辑处,把文件名改为你的加载宏文件名即可(注:代码中注册表路径内的11.0Excel2003Excel 200712.0 Excel 201014.0

filename=Registry.GetValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Office\\11.0\\Excel\\Options", "OPEN", true);
fnl = String.Length(filename);
if fnl>0 then
i= 1;
repeat
       valuename = String.Concat("OPEN", i);
       filename=Registry.GetValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Office\\11.0\\Excel\\Options", valuename, true);
       fnl = String.Length(filename);
       i= i + 1;
until fnl==0;
Registry.SetValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Office\\11.0\\Excel\\Options", valuename, "加载宏文件名", REG_SZ);
else
Registry.SetValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Office\\11.0\\Excel\\Options", "OPEN", "加载宏文件名", REG_SZ);
end
第四部分:设置安装向导界面
(1)       主界面右边screens选项下的四个选项分别是“主题”,“安装前”,“正在安装”,“安装后”,可以设置安装向导的界面
(2)       以“安装前”为例,单击Screens项下的Before Installing选项,在弹出的对话框中,左是各种安装向导对话框的列表,右边可以看到所选对话框相应的界面,可以通过“Remove”铵钮删掉一些对话框(我觉得setup factory给得提示很全,一般最好删掉一些,要不然太啰嗦),“Edit”可以编辑窗口中显示的文字
(3)       如上一步所述,可对安装前后各界面进行设置
第五部分:设置卸载程序
(1)       主界面右边Unistall中各种选项可以对卸载诸过程进行设置
(2)       单击Unistall项下的“Settings”选项,在弹出对话框中,将“Create unistall”前面的勾去掉,即不创建一个卸载程序,加载宏是个小程序,没有必要装卸载程序了
第六部分:生成安装文件
  (1)          单击主菜单中的“Publish”铵钮,在下拉菜单中选择“Build”选项
(3)       保持默认设置,点“Next
(4)       第一个文本框设置输出的安装文件的保存路径,第二个文本框设置安装文件的名称
(5)       单击“Next”,程序开始生成安装文件,请耐心等待一会儿,完成后你的加载宏安装包就生成了。
(6)     赶紧打开你的EXE文件,试试看安装效果吧!

自己写的时候本来是WORD文档,每一步都附有图片,建议大家下载来看看! 加载宏安装包的制作教程.zip (957 KB, 下载次数: 1286)

后记:
我原来有一点VB的基础,之后发现VBA,现在处于初学阶段,学得不系统,什么功能感兴趣学什么,一边编程序一边学。
帮老妈编了一个小程序用于工作,可是老妈确实是“笨”得可以。没办法,想办法把加载宏做成安装包吧,打开装好就能用啊!加之,觉得做成安装包,也便于推荐给朋友用。
注册表的知识我是一点都不会,这个概念也是因为要做安装包才逐渐理解。我瞎猫碰上死耗子,误打误撞找着了加载宏注册表的修改方法,惊喜地发现setup factory的编程语言还是VB,于是费了点力气转化成程序语言。有句话叫“授人以鱼不如授人以渔”,我直接上代码,一点说明也没有,自己有 “授人以鱼”的愧疚,但是在计算机的世界里,没有人是什么都会的,很多东西拿来用就好。
自己做安装包费了些脑筋,百度、谷歌了各种贴子都没有解决办法,现在自己解决了,特写此教程,和大家分享一下,解决和我有同样需要的VBA爱好者的问题。

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-2-7 19:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
下载学习,多谢分享

TA的精华主题

TA的得分主题

发表于 2014-2-8 16:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-2-8 17:11 | 显示全部楼层
感谢分享!正学用setup factory打包!

TA的精华主题

TA的得分主题

发表于 2014-2-8 21:03 | 显示全部楼层
谢谢分享,问一下:什么样的代码都行吗

TA的精华主题

TA的得分主题

发表于 2014-2-8 21:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
有那位高手用过吗,易用吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-2-9 00:11 | 显示全部楼层
zxc00 发表于 2014-2-8 21:03
谢谢分享,问一下:什么样的代码都行吗

setup factory的语言结构大体与VB一致,就是用方法操作对象,所以我才能很快理解
但是数据结构不完全一样,不等号是~=,等号是==
在代码页下面有个Add actions,里面有很多对象和方法,还有帮助文件,选好后自动生成代码,比较易学
总之,setup factory功能很强大!

TA的精华主题

TA的得分主题

发表于 2014-2-9 07:53 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-2-9 13:51 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-2-19 08:47 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-16 23:18 , Processed in 0.052033 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表