网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月17日
漏签
0
天
vba吧
关注:
16,992
贴子:
66,289
看贴
图片
吧主推荐
游戏
37
回复贴,共
1
页
<<返回vba吧
>0< 加载中...
求助
VBA类模块是不是必须实例化才可以调用其中的方法?
只看楼主
收藏
回复
烟雨江南ooo
自成一派
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如图我设了一个类模块ArtayUtil,再在其它模块中实例化得到一个对象oArrayUtil,这样可以调用CalcArea函数。我看网上其它程序语言说加static静态方法可以无需实例化就直接用类中的方法,但我在vba中想不实例化却总是报错。
lxlzmh2002
人中龙凤
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
没有静态类,类都能时例化。看你加那个static也没加类上,你加方法上了,关键是vba的static关键字是声明静态变量的
北京勤哲软件技术
勤哲Excel服务器软件2024,用Excel自动生成基于web,移动APP和PC的简单的编程软件。软博会金奖产品,适合于各行各业的管理人员使用。
2025-01-17 04:27
广告
立即查看
ISD_狮子座
初涉江湖
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
其它语言不知道,但VBA的类必须实例化的,而且类的目的不就是这样吗?不明白你省那一行的实例化有什么意义?如果同一个类需要在一个过程中分别使用的话,那不是更麻烦吗?你每次都需要重新定义里面的变量
跟着南哥混3天饿9顿
初涉江湖
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
接受拒绝管理Cookie
文档
全球导航
学习
5.2.4.1.2默认实例变量静态语义
文章
02/17/2021
2个贡献者
反馈
如果类模块的VB_PredeclaredId属性或
VB_GlobalNamespace属性的值为"True"。此缺省实例变量是使用模块扩展名创建的,就像在<module-variable-declaration>中声明一样,该<module-variable-declaration>包含一个<as-autoobject>元素,该元素的<class-type-name>是类的名称。
如果此类模块的VB_PredeclaredId属性的值为"True",则此默认实例变量将以类的名称作为其名称。此命名变量作为Set赋值的目标是无效的。否则,如果此类模块的VB_PredeclaredId属性没有值"True",则此默认实例变量没有可公开表达的名称。
如果此类模块的VB_GlobalNamespace属性的值为"True",则该类模块被视为全局类模块,允许对其默认实例的成员进行简单名称访问,如第5.6.10节中所述。
请注意,如果VB_PredeclaredId和VB_GlobalNamespace属性都具有值“True”,则两个属性的语义共享相同的默认实例变量。
因此,你可以朝以下方向进行探索
1。将您要使其静态的类导出到文件夹。
2。在您喜欢的文本编辑器中打开导出的.cls文件,然后更改
VB_PredeclaredId的条目,以便读取VB_PredeclaredId = True。
3。保存文件,然后重新导入到VBA。
如果还是不行,看看是否要加入初始化事件。
ISD_狮子座
初涉江湖
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
但如果我写好一个查询用的类就可以简化成这样
With SeleA
.LetCn = "Driver={MySQL ODBC 8.0 Unicode Driver};Server=*****;Port=****;Database=Power_BI;Uid=powerbi;Pwd=*****;OPTION=3;"
.LetDB = "ZFIT072"
.LetFiels = "ZCOLUMN, ZTEXT_EN, DMBTR, HSLVT"
.LetKey = "BUKRS = '" & CoCode & "' and RYEAR = '" & FYear & "' and RPMAX = '" & FMonth & "'"
.LetOrderBy = "RACCT"
MatchData.ListColumns("ZCOLUMN").Range.Rows(2).CopyFromRecordset SeleB.GetSele2
End With
烟雨江南ooo
自成一派
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这书找不到地方买
ISD_狮子座
初涉江湖
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
好像的确有VBA的静态类,我在这楼的回复里发一下链接,防删
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示