我使用的是Ruby1.8。使用WIN32OLE模块-
1)如何确定OLE对象实例的类名? 2)如何判断对象实例是否支持特定方法?
在Outlook自动化脚本中,我正在尝试删除“已删除邮件”文件夹中超过21天的邮件。对于邮件项,我希望使用ReceivedTime属性,但为此,我需要检查该项是否实际上是一个MailItem实例。
对于第二个,我能想到的最好的是(真的很慢):
def MethodExists(obj, methodName)
obj.ole_methods.each{|method|
if (method.name == methodName)
return true
end
}
return false
end发布于 2009-02-27 18:49:17
关于特定的WIN32OLE对象...
如何确定OLE对象实例的类名?
object.ole_obj_help.name如何判断一个对象实例是否支持某个特定的方法?
object.ole_methods.collect!{ |x| x.to_s }.include?( 'MethodName' )发布于 2009-02-27 15:59:29
obj.classif obj.respond_to?(methodName) #do your work end
https://stackoverflow.com/questions/595003
复制相似问题