當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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類。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。