Module: Worksheet
- Defined in:
- lib/trail_excel.rb
Overview
Excel 利用のための拡張モジュール
目的
ole32を利用してExcelを操作する。
Instance Method Summary collapse
-
#[](y, x) ⇒ Object
セル参照 sheet.
-
#[]=(y, x, value) ⇒ Object
セル代入 sheet = xx.
-
#add_picture(py, px, file, sh, sw) ⇒ Object
画像の貼り付け point位置指定.
-
#add_picture_at_cell(cy, cx, file, sh, sw) ⇒ Object
画像の貼り付け セル位置指定.
-
#box(y1, x1, y2, x2) ⇒ Object
枠線を設定.
-
#center(y1, x1, y2, x2) ⇒ Object
中央揃え.
-
#color(y, x) ⇒ Object
セルの背景色 参照 sheet.color(y,x).
-
#copy(y1, x1, y2, x2, y3, x3) ⇒ Object
コピー.
-
#delete_row(n, m) ⇒ Object
行の削除.
-
#font_color(y, x) ⇒ Object
セルの文字色 参照 sheet.font_color(y,x).
-
#format_copy(y1, x1, y2, x2, y3, x3) ⇒ Object
範囲指定の式のコピー.
-
#format_copy1(y1, x1, y2, x2) ⇒ Object
セルの式のコピー.
-
#formula(y, x, f) ⇒ Object
セルに式を設定.
-
#get_formula(y, x) ⇒ Object
セルに設定された式を参照.
-
#group_column(x1, x2) ⇒ Object
カラムのグループ化.
-
#group_row(y1, y2) ⇒ Object
行のグループ化.
-
#insert_row(n) ⇒ Object
行の挿入.
-
#merge(y1, x1, y2, x2) ⇒ Object
指定範囲をマージ.
-
#r_str(y, x) ⇒ Object
セル位置を指定する文字列作成.
-
#select(y, x) ⇒ Object
セルを選択.
-
#set_color(y, x, color) ⇒ Object
セルの背景色 設定 sheet.color(y,x,color).
-
#set_font_color(y, x, color) ⇒ Object
セルの文字色 設定 sheet.set_font_color(y,x,color).
-
#set_height(y, x, height) ⇒ Object
行の高さ設定.
-
#set_range_color(y1, x1, y2, x2, color) ⇒ Object
セルの範囲への背景色 設定 set_range_color(y1,x1,y2,x2,color).
-
#set_range_font_color(y1, x1, y2, x2, color) ⇒ Object
セルの範囲への背景色 設定 set_range_font_color(y1,x1,y2,x2,color).
-
#set_width(y, x, width) ⇒ Object
カラム幅設定.
-
#v_top(y1, x1, y2, x2) ⇒ Object
上付き.
-
#wrap(y1, x1, y2, x2) ⇒ Object
文字列の折り返し指定.
Instance Method Details
#[](y, x) ⇒ Object
セル参照
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 |