IronRuby:无法使用一个或多个参数调用COM对象上的方法

时间:2010-02-19 13:52:26

标签: ruby com interop com-interop ironruby

当我尝试在带有一个或多个参数的COM对象上调用任何方法时,我在最后一个参数上得到以下错误:

Could not convert argument 0 for call to Open. (ArgumentError)

调用不带参数的方法或获取/设置属性时,一切正常。以下是给出上述错误的代码:

def new_com_object(prog_id)
  System::Activator.CreateInstance(System::Type.GetTypeFromProgID(prog_id))
end

xls = new_com_object('Excel.Application')
xls.Visible = true
xls.Workbooks.Open('c:\\Book1.xls')

1 个答案:

答案 0 :(得分:0)

在调用方法时,我看起来需要使用String#to_clr_string。现在IronRuby.net的文档已经过时了,所以很难搞清楚。