ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 初始化excel引用的VB控件,使excel引用的DLL具有XP风格

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-10-19 16:28 | 显示全部楼层
本帖已被收录到知识树中,索引项:控件
fecmen 发表于 2012-10-19 15:01
一楼的附件已经更新了,程序可以在Win7环境下以管理员身份运行。

谢谢分享,但有更简单的方法,在VB资源中加载这个RES就行了
XP风格RES.rar (433 Bytes, 下载次数: 68)

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-19 17:00 | 显示全部楼层
hyy514 发表于 2012-10-19 16:28
谢谢分享,但有更简单的方法,在VB资源中加载这个RES就行了

看了您的附件,你的方法是是VB程序运行具有XP风格,但是不能使Excel引用的VB编制的DLL中的控件具有XP风格,我的方法可以使Excel引用的VB编制的DLL中的窗体控件具有XP风格,是不一样的。

TA的精华主题

TA的得分主题

发表于 2012-10-19 17:10 | 显示全部楼层
fecmen 发表于 2012-10-19 17:00
看了您的附件,你的方法是是VB程序运行具有XP风格,但是不能使Excel引用的VB编制的DLL中的控件具有XP风格 ...

试过了,我的方法是不行

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-19 17:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
之前的附件有点小Bug,文件中不小心弄掉一点代码。现在已近更新上传。

TA的精华主题

TA的得分主题

发表于 2012-10-19 17:15 | 显示全部楼层
fecmen 发表于 2012-10-19 17:13
之前的附件有点小Bug,文件中不小心弄掉一点代码。现在已近更新上传。

楼主,如果可以的话,分享下"初始化Excel引用VB控件XP风格.rar"的源代码,研究一下
如果可以的话

TA的精华主题

TA的得分主题

发表于 2012-10-19 17:23 | 显示全部楼层
初始化之后,EXCEL打不开文件了
QQ截图20121019172234.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-20 08:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
hyy514 发表于 2012-10-19 18:31
xp  excel2007 "初始化Excel引用VB控件XP风格.rar"初始化后,EXCEL.exe不能打开任何EXCEL格式的文件,
也 ...

Office2007情况下是有点问题,我现已更新程序,已经解决此问题。主要原因是测试程序是仅在2003、2010两个环境下测试,2007的excel.exe.manifest和2010的不一样导致错误的出现。office2007的excel.exe.manifest中的初始配置代码如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><noInherit></noInherit><assemblyIdentity version="11.0.0.0" processorArchitecture="x86" name="excel" type="win32"></assemblyIdentity><description>Microsoft Office Excel</description><dependency><dependentAssembly><assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity></dependentAssembly></dependency><trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
            </requestedPrivileges>
        </security>
    </trustInfo></assembly>

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-20 08:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
之前如果运行程序后,导致excel2007不能正常打开的情况,可以重新运行新上传的附件修复上述问题,不用重新安装Office程序。

TA的精华主题

TA的得分主题

发表于 2012-10-20 12:10 来自手机 | 显示全部楼层
大致上也明白实现原理,不过对excel.exe的库文件动手术,这种方法有点不太绿色。甚至对excel造成更多未知的错误,不是用几个版本的excel测试下能打开文件就通过了的。
其实要activex dll的窗体换肤,有更稳定更绿色的办法,网上就有很多公开的源码

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-10-20 15:36 | 显示全部楼层
hyy514 发表于 2012-10-20 12:10
大致上也明白实现原理,不过对excel.exe的库文件动手术,这种方法有点不太绿色。甚至对excel造成更多未知的 ...

首先需要澄清的是此程序不是对excel.exe的库文件动手术,excel.exe.manifest是在office2007以上版本才有的,该文件主要配置相关参数使用的,程序仅仅是在原基础上增加一点参数而已,不是修改核心代码。如果利用控件来达到xp风格会增加程序的容量。据我所知,excel必备工具箱采用的就是该方法。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-25 13:14 , Processed in 0.038850 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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