Type:
Class
<code>WIN32OLE</code> objects represent OLE Automation object in Ruby.

By using WIN32OLE, you can access OLE server like VBScript.

Here is sample script.

  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();

Unfortunately, Win32OLE doesn't support the argument passed by reference directly. Instead, Win32OLE provides WIN32OLE::ARGV. If you want to get the result value of argument passed by reference, you can use WIN32OLE::ARGV.

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

WIN32OLE#ole_type Instance Public methods Returns

2015-06-12 21:53:32
ole_query_interface

WIN32OLE#ole_query_interface(iid) â WIN32OLE object Instance Public methods Returns

2015-06-12 21:46:14
codepage

WIN32OLE.codepage Class Public methods Returns current codepage.

2015-06-12 19:43:46
ole_method

WIN32OLE#ole_method_help(method) Instance Public methods Returns

2015-06-12 21:28:44
_invoke

WIN32OLE#_invoke(dispid, args, types) Instance Public methods Runs the early

2015-06-12 20:49:40