Hi all,
I copy a script from WIN32OLE documentation and run it. I find that Ruby
complains it at line cells = sheets.cells(“A1:A5”).
Do I miss something?
Thanks,
Li
require ‘win32ole’
excel = WIN32OLE.new(‘Excel.Application’)
excel.Visible=“True”
book = excel.workbooks.add
sheets = book.worksheets(1)
cells = sheets.cells(“A1:A5”)
cells.each do |row|
row.value = 10
end
##output
ruby test3.rb
test3.rb:13:in `method_missing’: cells (WIN32OLERuntimeError)
OLE error code:80020005 in
HRESULT error code:0x80020009
Exception occurred. from test3.rb:13
Exit code: 1
Li Chen wrote:
Hi all,
I copy a script from WIN32OLE documentation
Where is the Win32OLE documentation located, please? That way, others
can
confirm your effort and duplicate your experiment (if they are running
Windows).
Li Chen wrote:
…
cells = sheets.cells(“A1:A5”)
Try:
cells = sheets.Range(“A1:A5”)
Cheers
Chris
Paul L. wrote:
Where is the Win32OLE documentation located, please? That way, others
can
confirm your effort and duplicate your experiment (if they are running
Windows).
It is here
http://www.ruby-doc.org/stdlib/
WIN32OLE#each{|i|…} or each(WIN32OLE)in Methods section
Iterates over each item of OLE collection which has IEnumVARIANT
interface.
excel = WIN32OLE.new(‘Excel.Application’)
book = excel.workbooks.add
sheets = book.worksheets(1)
cells = sheets.cells(“A1:A5”)
cells.each do |cell|
cell.value = 10
end
Li