ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[Excel 程序开发] [第46期] CommandBars对象模型树信息(已总结)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-5-2 19:50 | 显示全部楼层

回复 20楼 linpansheng 的帖子

参加了两期比赛(大概是43期左右吧),很幸运两期基本分都拿到了,虽然全对但不优秀,但完成后总是觉得累,看来自己火候还未到,过难的题目伤神,另外毕竟基础方面也不扎实,所以有必要继续潜水学习高手的代码,另外加强学习API, 当然象清风,小fisher的优秀作品不能错过,下载学习,这里早晚我会回来挑战的不过不是现在。

小fisher的我下载学习了,不过没看见清风版主的,希望能看到清风版主的代码

[ 本帖最后由 office2008 于 2009-5-2 20:09 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-11 23:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

VBA46期总结:

本期共收到7份有效答卷,很高兴的看到有些朋友从竞赛题的答题过程中有所收获,在竞赛中共同进步,正是本版创版的最终目的。现综合各答卷情况,简单小结一下。

1、在TreeView控件中显示数据的方式有两种情况:
A、一次性写入;(多数)
B、根据节点点击时,按需显示。(1份)
分析:
通常可根据节点数据量的大小,使用不同的方法。在节点数量过多时,使用方法B可节省数据写入时的等待时间。

2、在显示CommandBars和CommandControls对象集合层次结时应注意:
A、虽然Excel不允许添加相同名称的命令栏,但却存在相同名称的内置命令栏,包括Cell、Row、Column,所在在引用此几种内置命令栏时,应通过其索引Index属性正确引用。
B、某些命令栏控件存在相同标题(Caption)的项目,在为其指定节点的Key属性时,应注意区分。

3、选择节点时,在ListView控件中显示某些相应属性及属性值,从答卷的情况来看,获取相关属性及属性值的方式有以下几种:
3.1、获取或指定属性:
A、使用TBLinfo32.dll获取相关控件的所有属性,需要引用Dll;
B、指定相关属性文本,针对本题目,简单易行。
3.2、获取属性值:
A、直接引用。此方法增添或删减属性时比较麻烦,需增添相应代码。
B、使用CallByName函数。使用CallByName函数通过数组可方便的利用循环取得相关属性,并可方便的增删相关属性。

4、右击节点时,在TreeView控件中显示相应快捷菜单,本要求指在考查对TreeView控件的HitTest方法的应用,在VBA中TreeView控件使用了多种计量单位(用到了磅、像素、缇等),在应用时需要弄清楚事件或方法中各参数所使用的计量单位。HitTest方法中的参数以“缇”为单位,而在各鼠标相关事件中,返回坐标的单位为像素,需对其进行换算。
通常情况下,1英寸=2.54厘米=72磅=1440缇=96像素(根据系统设置,此项可能不同(具体数值可从桌面属性-设置-高级-常规选项卡中的DPI设置获得)。该值可通过API函数取得,参见 小fisher 答卷)。

以下是我的答卷,参考了大家的答卷后修改过的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2009-5-12 07:40 | 显示全部楼层

回复 22楼 清风_ll 的帖子

怪不得一用hittest,前辈们用的都是1440。我正奇怪呢,经版主一解释,就明白了。

TA的精华主题

TA的得分主题

发表于 2009-5-12 14:16 | 显示全部楼层
奇怪,版主的文件我下了,一运行就出现错误。(我用的是2007)版主看看?

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-14 16:11 | 显示全部楼层
原帖由 fdd 于 2009-5-12 14:16 发表
奇怪,版主的文件我下了,一运行就出现错误。(我用的是2007)版主看看?


2007已经不再建议使用CommandBar 对象了,此题针对2003 。

TA的精华主题

TA的得分主题

发表于 2009-5-15 19:35 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-5-27 20:36 | 显示全部楼层
原帖由 小fisher 于 2009-4-18 19:01 发表
496896

1、完整显示对象集合的结构层次;
2、完成在ListView控件中显示控件的相关属性;
3 、完成快捷菜单。
在完成以上要求的前提下,添加了许多精彩的功能:
* 为节点添加相应图标;
* 预览图标或相应命令 ...



太强大了,

TA的精华主题

TA的得分主题

发表于 2009-7-27 08:38 | 显示全部楼层
很不错的命题,谢谢清风兄

TA的精华主题

TA的得分主题

发表于 2010-4-4 13:14 | 显示全部楼层
越看这个帖子越有意思,可惜功力不够,需要用时间消化理解,时间花到位,也就理解其中含义了.

[ 本帖最后由 ningyong58 于 2010-4-4 20:26 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-12-30 09:52 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-10-23 18:29 , Processed in 0.040267 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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