当我尝试对接受一个或多个参数的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')