Module: Worksheet

Defined in:
lib/trail_excel.rb

Overview

Excel 利用のための拡張モジュール

目的

ole32を利用してExcelを操作する。

Instance Method Summary collapse

Instance Method Details

#[](y, x) ⇒ Object

セル参照

sheet



28
29
30
31
32
33
34
35
# File 'lib/trail_excel.rb', line 28

def [] y,x
  cell = self.Cells.Item(y,x)
  if cell.MergeCells
    cell.MergeArea.Item(1,1).Value
  else
    cell.Value
  end
end

#[]=(y, x, value) ⇒ Object

セル代入

sheet = xx



40
41
42
43
44
45
46
47
# File 'lib/trail_excel.rb', line 40

def []= y,x,value
  cell = self.Cells.Item(y,x)
  if cell.MergeCells
    cell.MergeArea.Item(1,1).Value = value
  else
    cell.Value = value
  end
end

#add_picture(py, px, file, sh, sw) ⇒ Object

画像の貼り付け point位置指定



224
225
226
# File 'lib/trail_excel.rb', line 224

def add_picture(py,px,file,sh,sw)
  self.Shapes.AddPicture(file,false,true,px,py,0.75*sw,0.75*sh)
end

#add_picture_at_cell(cy, cx, file, sh, sw) ⇒ Object

画像の貼り付け セル位置指定



230
231
232
233
# File 'lib/trail_excel.rb', line 230

def add_picture_at_cell(cy,cx,file,sh,sw)
  r = self.Range(r_str(cy,cx))
  self.Shapes.AddPicture(file,false,true,r.Left,r.Top,0.75*sw,0.75*sh)
end

#box(y1, x1, y2, x2) ⇒ Object

枠線を設定



156
157
158
159
# File 'lib/trail_excel.rb', line 156

def box(y1,x1,y2,x2)
  r = r_str(y1,x1)+':'+r_str(y2,x2)
  self.Range(r).Borders.LineStyle = 1
end

#center(y1, x1, y2, x2) ⇒ Object

中央揃え



178
179
180
181
# File 'lib/trail_excel.rb', line 178

def center(y1,x1,y2,x2)
  r = r_str(y1,x1)+':'+r_str(y2,x2)
  self.Range(r).HorizontalAlignment = -4108
end

#color(y, x) ⇒ Object

セルの背景色 参照

sheet.color(y,x)



52
53
54
# File 'lib/trail_excel.rb', line 52

def color(y,x)
    self.Cells.Item(y,x).interior.colorindex
end

#copy(y1, x1, y2, x2, y3, x3) ⇒ Object

コピー



203
204
205
206
207
208
# File 'lib/trail_excel.rb', line 203

def copy(y1,x1,y2,x2,y3,x3)
  r2 = r_str(y3,x3)
  r = r_str(y1,x1)+':'+r_str(y2,x2)
  self.Range(r2).Copy
  self.Range(r).PasteSpecial('Paste' => -4104)
end

#delete_row(n, m) ⇒ Object

行の削除



218
219
220
# File 'lib/trail_excel.rb', line 218

def delete_row(n,m)
  self.Range("#{n}:#{m}").Delete
end

#font_color(y, x) ⇒ Object

セルの文字色 参照

sheet.font_color(y,x)



74
75
76
# File 'lib/trail_excel.rb', line 74

def font_color(y,x)
    self.Cells.Item(y,x).Font.colorindex
end

#format_copy(y1, x1, y2, x2, y3, x3) ⇒ Object

範囲指定の式のコピー



185
186
187
188
189
190
# File 'lib/trail_excel.rb', line 185

def format_copy(y1,x1,y2,x2,y3,x3)
  r2 = r_str(y3,x3)
  r = r_str(y1,x1)+':'+r_str(y2,x2)
  self.Range(r2).Copy
  self.Range(r).PasteSpecial('Paste' => -4122)
end

#format_copy1(y1, x1, y2, x2) ⇒ Object

セルの式のコピー



194
195
196
197
198
199
# File 'lib/trail_excel.rb', line 194

def format_copy1(y1,x1,y2,x2)
  r2 = r_str(y2,x2)
  r = r_str(y1,x1)
  self.Range(r2).Copy
  self.Range(r).PasteSpecial('Paste' => -4122)
end

#formula(y, x, f) ⇒ Object

セルに式を設定



121
122
123
124
# File 'lib/trail_excel.rb', line 121

def formula( y,x,f)
  r = r_str(y,x)
  self.Range(r).Formula = f
end

#get_formula(y, x) ⇒ Object

セルに設定された式を参照



128
129
130
131
# File 'lib/trail_excel.rb', line 128

def get_formula( y,x)
  r = r_str(y,x)
  self.Range(r).Formula
end

#group_column(x1, x2) ⇒ Object

カラムのグループ化



142
143
144
145
# File 'lib/trail_excel.rb', line 142

def group_column(x1,x2)
  r = r_str(1,x1)+':'+r_str(1,x2)
  self.Range(r).Columns.Group
end

#group_row(y1, y2) ⇒ Object

行のグループ化



135
136
137
138
# File 'lib/trail_excel.rb', line 135

def group_row(y1,y2)
  r = r_str(y1,1)+':'+r_str(y2,1)
  self.Range(r).Rows.Group
end

#insert_row(n) ⇒ Object

行の挿入



212
213
214
# File 'lib/trail_excel.rb', line 212

def insert_row(n)
  self.Rows("#{n}:#{n}").Insert('Shift' => -4121)
end

#merge(y1, x1, y2, x2) ⇒ Object

指定範囲をマージ



149
150
151
152
# File 'lib/trail_excel.rb', line 149

def merge(y1,x1,y2,x2)
  r = r_str(y1,x1)+':'+r_str(y2,x2)
  self.Range(r).MergeCells = true
end

#r_str(y, x) ⇒ Object

セル位置を指定する文字列作成



108
109
110
# File 'lib/trail_excel.rb', line 108

def r_str(y,x)
  self.Cells.Item(y,x).address('RowAbsolute'=>false,'ColumnAbsolute'=>false)
end

#select(y, x) ⇒ Object

セルを選択



114
115
116
117
# File 'lib/trail_excel.rb', line 114

def select( y,x)
  r = r_str(y,x)
  self.Range(r).select
end

#set_color(y, x, color) ⇒ Object

セルの背景色 設定

sheet.color(y,x,color)



59
60
61
# File 'lib/trail_excel.rb', line 59

def set_color(y,x,color)
    self.Cells.Item(y,x).interior.colorindex = color
end

#set_font_color(y, x, color) ⇒ Object

セルの文字色 設定

sheet.set_font_color(y,x,color)



81
82
83
# File 'lib/trail_excel.rb', line 81

def set_font_color(y,x,color)
    self.Cells.Item(y,x).Font.colorindex = color
end

#set_height(y, x, height) ⇒ Object

行の高さ設定



101
102
103
# File 'lib/trail_excel.rb', line 101

def set_height(y,x,height)
    self.Cells.Item(y,x).RowHeight = height
end

#set_range_color(y1, x1, y2, x2, color) ⇒ Object

セルの範囲への背景色 設定

set_range_color(y1,x1,y2,x2,color)



66
67
68
69
# File 'lib/trail_excel.rb', line 66

def set_range_color(y1,x1,y2,x2,color)
  r = r_str(y1,x1)+':'+r_str(y2,x2)
  self.Range(r).interior.colorindex = color
end

#set_range_font_color(y1, x1, y2, x2, color) ⇒ Object

セルの範囲への背景色 設定

set_range_font_color(y1,x1,y2,x2,color)



88
89
90
91
# File 'lib/trail_excel.rb', line 88

def set_range_font_color(y1,x1,y2,x2,color)
  r = r_str(y1,x1)+':'+r_str(y2,x2)
  self.Range(r).Font.colorindex = color
end

#set_width(y, x, width) ⇒ Object

カラム幅設定



95
96
97
# File 'lib/trail_excel.rb', line 95

def set_width(y,x,width)
    self.Cells.Item(y,x).ColumnWidth = width
end

#v_top(y1, x1, y2, x2) ⇒ Object

上付き



171
172
173
174
# File 'lib/trail_excel.rb', line 171

def v_top(y1,x1,y2,x2)
  r = r_str(y1,x1)+':'+r_str(y2,x2)
  self.Range(r).VerticalAlignment = -4160
end

#wrap(y1, x1, y2, x2) ⇒ Object

文字列の折り返し指定



163
164
165
166
167
# File 'lib/trail_excel.rb', line 163

def wrap(y1,x1,y2,x2)
  r = r_str(y1,x1)+':'+r_str(y2,x2)
  self.Range(r).HorizontalAlignment = 1
  self.Range(r).WrapText = true
end