Class: RobustExcelOle::Range
- Inherits:
-
Object
- Object
- RobustExcelOle::Range
show all
- Includes:
- Enumerable
- Defined in:
- lib/robust_excel_ole/range.rb
Instance Method Summary
collapse
Constructor Details
#initialize(win32_range) ⇒ Range
6
7
8
|
# File 'lib/robust_excel_ole/range.rb', line 6
def initialize(win32_range)
@range = win32_range
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(id, *args) ⇒ Object
34
35
36
|
# File 'lib/robust_excel_ole/range.rb', line 34
def method_missing(id, *args)
@range.send(id, *args)
end
|
Instance Method Details
#[](index) ⇒ Object
29
30
31
32
|
# File 'lib/robust_excel_ole/range.rb', line 29
def [] index
@cells ||= []
@cells[index + 1] ||= RobustExcelOle::Cell.new(@range.Cells.Item(index + 1))
end
|
#each ⇒ Object
10
11
12
13
14
|
# File 'lib/robust_excel_ole/range.rb', line 10
def each
@range.each do |row_or_column|
yield RobustExcelOle::Cell.new(row_or_column)
end
end
|
#values(range = nil) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/robust_excel_ole/range.rb', line 16
def values(range = nil)
result = self.map{|x| x.value}.flatten
if range
relevant_result = []
result.each_with_index{ |row_or_column, i| relevant_result << row_or_column if range.include?(i) }
relevant_result
else
result
end
end
|