10/11/19 16:24:15
Rubyのwin32oleからExcelのAutoFilterコマンドの発行の仕方を教えていただけないでしょうか?
3つ以上の引数の書き方が分かりません。
2つ以上(0,1でフィルタリング)なら、Excelのマクロで記録してみた内容が以下のようになり、
ActiveSheet.Range(”$A$1:$E$100”).AutoFilter Field:=5, Criteria1:=”=0”, _
Operator:=xlOr, Criteria2:=”=1”
下のRubyスクリプトで実行できるのですが、
range = sheet.range(sheet.cell(1,1),sheet.cell(5,100));
range.AutoFilter(5, 0, 2, 1) #← Ruby OK
3つ以上の(3,4,5でフィルタリングする)場合、Excelのマクロが以下のようになります。
ActiveSheet.Range(”$A$1:$E$100”).AutoFilter Field:=5, Criteria1:=Array( _
”3”, ”4”, ”5”), Operator:=xlFilterValues
Array( _ ”3”, ”4”, ”5”)表記の仕方が分からず、下のようにしてもエラーとなります。
data_range.AutoFilter(5, 3,4,5, 7) #← Ruby NG
~~~~~
Win32OLEで実行する場合の、エクセルマクロ中の Array( _ ”3”, ”4”, ”5”) と同じことをさせるRubyの書き方を教えてください。
よろしくお願いします。