当我尝试在带有一个或多个参数的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')
答案 0 :(得分:0)
在调用方法时,我看起来需要使用String#to_clr_string。现在IronRuby.net的文档已经过时了,所以很难搞清楚。