Class: Excelgrip::RangeCursor
- Inherits:
-
Range
- Object
- GripWrapper
- Range
- Excelgrip::RangeCursor
- Defined in:
- lib/excelgrip.rb
Overview
RangeCursor Class ==============
Instance Method Summary collapse
-
#delete(shift = nil) ⇒ Object
undef delete.
- #h_move(offset) ⇒ Object
-
#range ⇒ Object
(also: #parent)
return Excel::Range object.
- #v_move(offset) ⇒ Object
Methods inherited from Range
#==, #cells, #each_range, #get_cursor, #h_pos, #h_size, #include?, #insert_here, #inspect, #merge, #mergearea, #name, #name=, #position, #unmerge, #v_pos, #v_size, #value, #value=
Methods inherited from GripWrapper
Constructor Details
This class inherits a constructor from Excelgrip::GripWrapper
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Excelgrip::GripWrapper
Instance Method Details
#delete(shift = nil) ⇒ Object
undef delete
449 450 451 452 453 454 |
# File 'lib/excelgrip.rb', line 449 def delete(shift=nil) range_name = @raw_object.name parent_sheet = @raw_object.parent @raw_object.delete(shift) @raw_object = parent_sheet.range(range_name) end |
#h_move(offset) ⇒ Object
407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 |
# File 'lib/excelgrip.rb', line 407 def h_move(offset) return(self) if offset == 0 sheet = @raw_object.parent sign = (offset.abs / offset) # +1 or -1 offset.abs.times do v_pos, h_pos = position() h_pos += (h_size() * sign) h_pos = 1 if h_pos < 1 next_top_cell = sheet.cells(v_pos,h_pos) next_bottom_cell = sheet.cells(v_pos + v_size() - 1, h_pos + h_size() -1) next_range = sheet.range(next_top_cell, next_bottom_cell) @raw_object = next_range end self.activate self end |
#range ⇒ Object Also known as: parent
return Excel::Range object
443 444 445 |
# File 'lib/excelgrip.rb', line 443 def range() @raw_object end |
#v_move(offset) ⇒ Object
425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 |
# File 'lib/excelgrip.rb', line 425 def v_move(offset) return(self) if offset == 0 sheet = @raw_object.parent sign = (offset.abs / offset) # +1 or -1 offset.abs.times do v_pos, h_pos = position() v_pos += (v_size() * sign) v_pos = 1 if v_pos < 1 next_top_cell = sheet.cells(v_pos, h_pos) next_bottom_cell = sheet.cells(v_pos + v_size() - 1, h_pos + h_size() -1) next_range = sheet.range(next_top_cell, next_bottom_cell) @raw_object = next_range end self.activate self end |