Guest2
(Guest)
4 December 2006 04:35
1
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 <Unknown>
<No Description>
HRESULT error code:0x80020009
Exception occurred. from test3.rb:13
Exit code: 1
--
Posted via http://www.ruby-forum.com/\ .
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).
···
--
Paul Lutus
http://www.arachnoid.com
Yang_Bob
(Yang Bob)
4 December 2006 08:15
3
here are some win32ole doc:
<http://www.ruby-doc.org/stdlib/libdoc/win32ole/rdoc/index.html> ;
http://www.ruby-doc.org/stdlib
···
2006/12/4, Paul Lutus <nospam@nosite.zzz>:
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).
--
Paul Lutus
http://www.arachnoid.com
Guest2
(Guest)
4 December 2006 09:34
4
Paul Lutus 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
···
--
Posted via http://www.ruby-forum.com/\ .
Chris6
(Chris)
4 December 2006 13:20
5
Li Chen wrote:
...
cells = sheets.cells("A1:A5")
Try:
cells = sheets.Range("A1:A5")
Cheers
Chris