首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby win32ole -如何确定OLE类类型,OLE类是否支持方法

Ruby win32ole -如何确定OLE类类型,OLE类是否支持方法
EN

Stack Overflow用户
提问于 2009-02-27 14:34:42
回答 2查看 1.5K关注 0票数 4

我使用的是Ruby1.8。使用WIN32OLE模块-

1)如何确定OLE对象实例的类名? 2)如何判断对象实例是否支持特定方法?

在Outlook自动化脚本中,我正在尝试删除“已删除邮件”文件夹中超过21天的邮件。对于邮件项,我希望使用ReceivedTime属性,但为此,我需要检查该项是否实际上是一个MailItem实例。

对于第二个,我能想到的最好的是(真的很慢):

代码语言:javascript
复制
def MethodExists(obj, methodName)
  obj.ole_methods.each{|method|
    if (method.name == methodName)
      return true
    end
  }
  return false
end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-02-27 18:49:17

关于特定的WIN32OLE对象...

如何确定OLE对象实例的类名?

代码语言:javascript
复制
object.ole_obj_help.name

如何判断一个对象实例是否支持某个特定的方法?

代码语言:javascript
复制
object.ole_methods.collect!{ |x| x.to_s }.include?( 'MethodName' )
票数 7
EN

Stack Overflow用户

发布于 2009-02-27 15:59:29

  1. obj.class

if obj.respond_to?(methodName) #do your work end

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/595003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档