ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 犯晕的类模块

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-8-25 21:23 | 显示全部楼层 |阅读模式
本帖最后由 yiyiyicz 于 2012-8-25 21:48 编辑

初识类模块,就是在EH出的VBA教材中
现在,当真要把他派用场时,发现远远不是那么回事
类模块,功能丰富、抽象,似乎要有比较坚实的基础。不像VBA会写语句就能对付编程了

遍查VBA板块,理念介绍得多,实战实例少。从
VBA类:隐者的秘密
Excel VBA中类模块编程简单例子
CoolButton_类模块学习范例
等帖子中,也间接提到一些人做过类模块开发应用的工作,但是可能隐藏在财务、生产、人事、报表等题目里。找不到啊
有两本从英文翻译过来的书:《excel专业开发》《VBA高级开发指南》。读这两本书需要基础了。自己掂量一下,有点难

希望先贤能提供一些实际开发、解决实际问题的帖子、资料等。让我们上手也能少些困难
特别希望,有稍微复杂的功能开发,系统的,一步步实现最后的目标
中间怎么能添加功能、完善功能,而不至于让之前的工作处于崩溃的边缘,闹的不可收拾
分析若干个过程、模块、类模块,怎么组织、怎么联系是好的,什么是要避免的,等等
学习类模块,咱没有走捷径的想法,但是也不想走太弯的路
谢谢!


TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-25 21:34 | 显示全部楼层
刚刚看到类模块开发,解决默认属性的方法
将写好的类模块,从VBA工程中导出,放到VB6里面
在VB6中通过界面,设置默认属性,保存,再把它导入进VBA中
说是VBA就能自动识别
这些,在VBA简单操练中,根本就没有听说过

TA的精华主题

TA的得分主题

发表于 2012-8-25 22:01 | 显示全部楼层
本帖最后由 liucqa 于 2012-8-25 22:02 编辑
yiyiyicz 发表于 2012-8-25 21:34
刚刚看到类模块开发,解决默认属性的方法
将写好的类模块,从VBA工程中导出,放到VB6里面
在VB6中通过界面 ...

http://club.excelhome.net/forum. ... =902266&pid=6183566

给类模块指定默认属性,看这个,不需要vb

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-25 22:16 | 显示全部楼层
liucqa 发表于 2012-8-25 22:01
http://club.excelhome.net/forum. ... =902266&pid=6183566

给类模块指定默认属性,看这个,不需要vb

非常感谢
用记事本改,是个方法
可是那些ID参数如何确定呢?有什么规则?

TA的精华主题

TA的得分主题

发表于 2012-8-25 22:20 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-25 22:23 | 显示全部楼层
fzkoko 发表于 2012-8-25 22:20
VBA的类模块啥时候能做到可视化设计就好了。

一句话
本人现在的水平,使用excel,远远达不到运用自如的程度

TA的精华主题

TA的得分主题

发表于 2012-8-25 22:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 引子玄 于 2012-8-25 22:29 编辑

类木快——有人比喻为私人厕所,我的理解为:更像自定义函数,或象相对路径(不通用的)
俺也没学这DD,所以代码中出现“私人SUB”,下载往往用不上。

点评

类模块,复杂、灵活、抽象  发表于 2012-8-25 23:33

TA的精华主题

TA的得分主题

发表于 2012-8-25 22:58 | 显示全部楼层
说到类,类库和模板都是一堆类,FORM窗体也是类模板。

但有需要才有动力,如果你想设计一个类,光是“为了学习而学习“这个理由就意义不大了。
N多初学朋友在看代码书的时候,看到任何一种语言用HELLO WORLD的例子就觉得枯燥(老实说,我曾经也觉得这东西很土,其实这是个标准,有输出有结构),要是转成有花样的图形就很好,但这得保证适合他的理解。

简单而”标准“的VB/VBA类看起来其实也很土,不过要是很炫的类,就不如去看FORM窗体,但那些东西本身已经复杂到自带实例,令人不觉得它是一个类了。
所以我建议你先举个例子,比如说,工作OR学习里,有什么地方你很迫切想要自已创造类来解决的?

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-25 23:21 | 显示全部楼层
本帖最后由 yiyiyicz 于 2012-8-26 09:11 编辑
hiyou 发表于 2012-8-25 22:58
说到类,类库和模板都是一堆类,FORM窗体也是类模板。

但有需要才有动力,如果你想设计一个类,光是“为 ...


是针对实际应用的
首先,我把它和软件框图联系起来。一个个框图(特别是计算逻辑的)想象成类模块的实例,通过各式各样的联系,让代码自动实现预想的功能;同时,又能有条理,当需要增加、修改某些功能时,不乱
其次,把相近的内容,统一做成模板。
举个例子
工程设计中,靠查图表来确定设计参数十分常见
为了简单,我们假定有四条平面曲线,围成一个(或者几个)封闭区域。设计参数则必须落在封闭区域里
现在希望:
自动算出曲线坐标(如两分法,求解过程通用,但是调用两端点的方程不同)
生成点图(需要统一坐标,大小适中)
鼠标在封闭区域中移动,有十字线跟随(交点情况变化)
十字线与曲线交点的坐标,在文本框中实时显示
还要一个导航菜单

大节需要斟酌,细节比较罗嗦

TA的精华主题

TA的得分主题

发表于 2012-8-25 23:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 doryan 于 2012-8-25 23:55 编辑

我最近看JAVA 对以前类模块中比较迷糊的地方豁然开朗
JAVA是面向对象的语言
你可以理解成
除了主函数作为入口以外 其他全是写在类似VBA类模块中的东西

类模块的调用方式 就是类的实例化
类模块的 intiliz什么玩意的  你懂得 太长 我就拼不正确了  其实就是构造函数 还是阉割版本的 因为不能带参数
类模块的绑定事件之类的 对应着JAVA的 继承机制

说白了 迷惑你的不是语言本身 而是思想
面向对象的语言 要写出完成操作的代码不一定难 但是要具备 健壮性 和严谨性 通用性 那必须是件难事
面向对象的编程思想也必须做到这一点 不然和面向过程没有任何区别

学再高深点
代码不是代码
代码是客观描述对象的方式
然后从对象抽象出来合乎编程语言的规范的方式 形成一个对象 或者说就是类啦

说的乱七八糟 看来我的思想依然问题重重



评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-20 16:31 , Processed in 0.045004 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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