以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  对菜单的判断出错不能跳过  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=28372)

--  作者:zoomify
--  发布时间:2013/1/26 18:45:00
--  对菜单的判断出错不能跳过

Try
     Dim TheButton As RibbonMenu.ToggleButton=RibbonTabs("***").Groups("***").Items("***")
      
Catch ex As Exception
                
                        
End Try

上面的代码运行的时候,但菜单中没有这个项目的时候,还是出现错误提示出来, 因为在系统默认菜单下,自己定义的菜单是没有的.

如何判断一个没有的菜单并且不出错误呢?

以为是:

if not RibbonTabs("***").Groups("***").Items("***") is nothing then

 

end if

 

但这样的代码出错.

 

 



--  作者:lin_hailun
--  发布时间:2013/1/26 18:55:00
--  
 狐表最大的特点就是错误吞掉,不抛出……你要捕捉,很难。
--  作者:zoomify
--  发布时间:2013/1/27 8:52:00
--  

问题正好相反,我不想要跳出错误,但foxtable总跳出.


--  作者:lin_hailun
--  发布时间:2013/1/28 10:05:00
--  
以下是引用zoomify在2013-1-27 8:52:00的发言:

问题正好相反,我不想要跳出错误,但foxtable总跳出.


吞掉的意思是,你永远控制不了错误。我感觉应该把错误抛出一下让用户捕捉比较好。

目前楼主只能一层一层地去判断菜单是否存在。
[此贴子已经被作者于2013-1-28 10:05:34编辑过]

--  作者:zoomify
--  发布时间:2013/1/29 14:16:00
--  
以下是引用lin_hailun在2013-1-28 10:05:00的发言:


吞掉的意思是,你永远控制不了错误。我感觉应该把错误抛出一下让用户捕捉比较好。

目前楼主只能一层一层地去判断菜单是否存在。
[此贴子已经被作者于2013-1-28 10:05:34编辑过]

可是有时候,不需要跳出错误,比如我要从mdb文件中导入表,但要先判断是否存在这个表, access好像没有判断表是否存在的接口,我就想用try catch end结构直接导入,如果出错就说明没有这个表, 就不要导入这个表的数据了,但还是跳出错误. 这样不是很友好.


--  作者:lin_hailun
--  发布时间:2013/1/29 14:28:00
--  
以下是引用zoomify在2013-1-29 14:16:00的发言:

可是有时候,不需要跳出错误,比如我要从mdb文件中导入表,但要先判断是否存在这个表, access好像没有判断表是否存在的接口,我就想用try catch end结构直接导入,如果出错就说明没有这个表, 就不要导入这个表的数据了,但还是跳出错误. 这样不是很友好.


对于导入的话,你也可以判断这个表是否在某个access里的。

可以动态添加这个access数据库的数据源,然后检测,然后删除。

http://www.foxtable.com/help/topics/1944.htm

--  作者:lin_hailun
--  发布时间:2013/1/29 14:32:00
--  
 connection可以返回所有的表的名字。

http://www.foxtable.com/help/topics/1943.htm