ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

Excel To EXE 7.0 版发布!

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-1-21 11:35 | 显示全部楼层

转换后的文件由三部分组成:EXE文件头,EXCEL本身,加入的图片.当然文件会大一些了

DoneEX也是把图片打入文件,不过是压缩了一下.启动界面也是模仿它重做了一下.

[此贴子已经被作者于2006-1-21 11:38:38编辑过]

TA的精华主题

TA的得分主题

发表于 2006-1-21 19:27 | 显示全部楼层

再次谢谢版主!我测试我的一个含有VBA代码的文件时发现一个问题,这部分代码能使用版主软件封装后的文件不能存盘,提醒使用者注意,不过这个代码一般不会用到,我贴出来大家共同研究。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Dim myfile As FileSection '定义变量
Dim comc, exec, xlsc As String '定义变量
'*****************************************************************
'*******************************************************************
Application.DisplayAlerts = Fals
Application.Visible = False '隐藏EXCEL主窗口
exec = Worksheets("temp").Cells(1, 1).Value
xlsc = Worksheets("temp").Cells(2, 1).Value
comc = exec & " " & xlsc
Open exec For Binary As #1 '打开EXE文件
ReDim myfile.Bytes(1 To EXE_SIZE)
Get #1, 1, myfile.Bytes '取得固有文件头
Close #1
If VBA.Dir(exec) <> "" Then Kill exec
Open exec For Binary As #1 '生成新的EXE文件
Put #1, 1, myfile.Bytes '先写入文件头
Open xlsc For Binary As #2 '打开xls临时文件
ReDim myfile.Bytes(1 To FileLen(xlsc))
Get #2, 1, myfile.Bytes
Put #1, EXE_SIZE + 1, myfile.Bytes '将xls部分追加进EXE
Close #1
Close #2
Shell comc, vbMinimizedNoFocus '删除临时xls文件
Application.Quit
End Sub

相信这段代码研究过ldhyob版主的那个封装的帖子的朋友应该都很熟悉,我测试的时候偷了个懒,直接用的含这个代码的文件测试,发现生成后的文件不能存盘了,不知道是由于这段代码里的那一句造成的。将这段代码删除后,生成的文件经测试,保存没有问题

[此贴子已经被作者于2006-1-21 21:59:08编辑过]

TA的精华主题

TA的得分主题

发表于 2006-1-21 19:56 | 显示全部楼层

又发现几个小问题

1、用自选图标生成的文件后的图标失真比较严重,请问版主这个图标文件是不是有什么特殊的要求?

2、生成后的表在关闭后如果点击窗口的关闭按钮会出现关闭不彻底的现象,如果点击工作表的关闭按钮则全部能关掉。

3、在选启动画面文件的时候,自选的启动文件不支持中文名,一定要将其改为数字和字母,否则不能添加启动画面。

4、不知道生成的文件能否在OFFICE2000的机子上使用,我身边没有2000的机子了,这个想问问版主,谢谢!

[此贴子已经被作者于2006-1-21 20:15:35编辑过]

TA的精华主题

TA的得分主题

发表于 2006-1-21 21:47 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2006-1-21 21:57 | 显示全部楼层
第一个图标问题已经测试完成,经测试图标尺寸大于32*32时,生成文件的会失真,如果想不保持失真图标最好选择16*16或32*32经测试没有问题。

TA的精华主题

TA的得分主题

发表于 2006-1-22 08:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

不错,学习一下

TA的精华主题

TA的得分主题

发表于 2006-1-22 09:17 | 显示全部楼层

还有一个问题想请教版主:生成后的文件如何用VBA代码得到本exe文件的路径,我用ActiveWorkbook.FullNameURLEncoded这句代码得到的是一个临时文件的一个路径,但我们经常要用到本文件的路径,这个有办法解决吗?谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-1-22 10:52 | 显示全部楼层

1).图标尺寸要求:32*32或16*16. VB不支持真彩色.

2).2006.1.21 增加对选择画面文件中文名的支持.

打开方式也跟随DoneEX的模式.不加入图片是用默认方式,如加入图片则显示所加图片.

UMsV0xND.zip (181.48 KB, 下载次数: 296)
[此贴子已经被作者于2006-1-22 10:56:16编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-1-22 11:14 | 显示全部楼层
以下是引用小奔在2006-1-22 9:17:09的发言:

还有一个问题想请教版主:生成后的文件如何用VBA代码得到本exe文件的路径,我用ActiveWorkbook.FullNameURLEncoded这句代码得到的是一个临时文件的一个路径,但我们经常要用到本文件的路径,这个有办法解决吗?谢谢!

奔兄,你好!请参考:模拟金山毒霸注册表Solve,Windows优化大师的部分功能!(提供原码式)!http://club.excelhome.net/viewthread.php?tid=57918&replyID=&skin=0

中注册表读写的代码就可以读取到.

TA的精华主题

TA的得分主题

发表于 2006-1-22 20:55 | 显示全部楼层
转换后的文件不能用,WINXP+EXCEL2000
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-21 11:24 , Processed in 0.034737 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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