首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

技术分享(求见教): 针对office开发中判断对象成员是否可用的一个函数

2013-04-07 
技术分享(求指教): 针对office开发中判断对象成员是否可用的一个函数其实可能是一个多余的东西,估计已经有

技术分享(求指教): 针对office开发中判断对象成员是否可用的一个函数
其实可能是一个多余的东西,估计已经有现成的更好的办法.不过因为是有个OFFICE插件程序急着要改,先急着写个用着再说.谁有好的,请指点,马上给分:)

错过沙发,又学到了新的知识……
[解决办法]
VB ...太亲切了, 怀念大学的时光.
[解决办法]
谢谢分享,我要
[解决办法]


同谢谢!!!!
[解决办法]
但是

现在 还要使用这样的么

TestObjAvail = False
    On Error GoTo TestObjAvail_Error
[解决办法]
看看高手建议。
[解决办法]
路过啊哈哈技术分享(求见教): 针对office开发中判断对象成员是否可用的一个函数
[解决办法]

引用:
引用:但是

现在 还要使用这样的么

TestObjAvail = False
    On Error GoTo TestObjAvail_Error

当然需要捕获错误啊,OFFICE开发中无效的属性太常见了.很多属性只是在某些情况下才有效.你如常用调试时的监视窗口就会注意到了.注意,无效并非Nothing
 ……


哦  妄言了   没做过ofice 调试
[解决办法]
也可以用typename或typevalue判断selection的类型,excel中就这个selection问题多
[解决办法]
也可以利用Debug.Assert来判断是否是调试状态:
Public Function InDebugMode() As Boolean
    Debug.Assert SetTrue(InDebugMode)
End Function

Public Function SetTrue(byref val) As Boolean
    val = True
    SetTrue = True
End Sub


[解决办法]
引用:
补充说明一下,写这代码的直接原因,是因为Selection.Range在2007中能访问,但在WORD2003中时,如果文档中只有简单的文本,则会报这类错误:
   Error 5852 (应用程序定义或对象定义错误)
其实发帖时还想到了是否能通过tlbinfo之类的办法来做判断,但毕竟不熟那方面的,还需等待高人指点:)

首先要判断当前程序吧,不同Office程序的对象差别很大。接着再判断程序版本,这样写的代码就会比较安全,也比较容易维护。

热点排行