当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Ruby WIN32OLE类用法及代码示例

本文简要介绍ruby语言中 WIN32OLE类 的用法。

WIN32OLE

WIN32OLE 对象表示 Ruby 中的 OLE 自动化对象。

通过使用 WIN32OLE ,您可以像 VBScript 一样访问 OLE 服务器。

这是示例脚本。

require 'win32ole'

excel = WIN32OLE.new('Excel.Application')
excel.visible = true
workbook = excel.Workbooks.Add();
worksheet = workbook.Worksheets(1);
worksheet.Range("A1:D1").value = ["North","South","East","West"];
worksheet.Range("A2:B2").value = [5.2, 10];
worksheet.Range("C2").value = 8;
worksheet.Range("D2").value = 20;

range = worksheet.Range("A1:D2");
range.select
chart = workbook.Charts.Add;

workbook.saved = true;

excel.ActiveWorkbook.Close(0);
excel.Quit();

不幸的是,Win32OLE 不支持直接通过引用传递的参数。相反,Win32OLE 提供了 WIN32OLE::ARGV WIN32OLE_VARIANT 对象。如果要获取引用传递的参数的结果值,可以使用 WIN32OLE::ARGV WIN32OLE_VARIANT

oleobj.method(arg1, arg2, refargv3)
puts WIN32OLE::ARGV[2]   # the value of refargv3 after called oleobj.method

或者

refargv3 = WIN32OLE_VARIANT.new(XXX,
            WIN32OLE::VARIANT::VT_BYREF|WIN32OLE::VARIANT::VT_XXX)
oleobj.method(arg1, arg2, refargv3)
p refargv3.value # the value of refargv3 after called oleobj.method.

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 WIN32OLE类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。