Excel VBA で Range コレクションを取得するメソッドとプロパティ一覧
Rubyでこういうコードを書いて調べました。
コード
# -*- coding: utf-8 -*- require 'win32ole' puts WIN32OLE_TYPE.ole_classes('Microsoft Excel 11.0 Object Library') .map {|k| k.ole_methods.map {|m| [k,m]}}.reduce(:+) .select {|k,m| k.visible? and k.name[0]!='_' and m.visible? and m.return_type=='Range'} .sort_by {|k,m| [m.invkind, m.name, k.name]} .map {|k,m| [k.name + (k.ole_methods.find {|m| m.name=='Item'} ? ' コレクション' : ' オブジェクト'), m]} .map {|k,m| [k, m.name + (m.invkind==1 ? ' メソッド' : ' プロパティ')]} .group_by {|k,m| m}.map {|m,kms| '-' + kms.map(&:first).join('、') + 'の ' + m} .join("\n")
実行結果
- Range コレクションの ColumnDifferences メソッド
- Range コレクションの Find メソッド
- Range コレクションの FindNext メソッド
- Range コレクションの FindPrevious メソッド
- PivotTable オブジェクトの GetPivotData メソッド
- Application オブジェクトの Intersect メソッド
- Range コレクションの RowDifferences メソッド
- Range コレクションの SpecialCells メソッド
- Application オブジェクトの Union メソッド
- Worksheet オブジェクトの XmlDataQuery メソッド
- Worksheet オブジェクトの XmlMapQuery メソッド
- Application オブジェクト、Window オブジェクトの ActiveCell プロパティ
- ChartObject オブジェクト、OLEObject オブジェクト、Shape オブジェクトの BottomRightCell プロパティ
- Application オブジェクト、Range コレクション、Worksheet オブジェクトの Cells プロパティ
- Scenario オブジェクトの ChangingCells プロパティ
- Worksheet オブジェクトの CircularReference プロパティ
- PivotTable オブジェクトの ColumnRange プロパティ
- Range コレクションの CurrentArray プロパティ
- Range コレクションの CurrentRegion プロパティ
- ListObject オブジェクト、PivotTable オブジェクトの DataBodyRange プロパティ
- PivotTable オブジェクトの DataLabelRange プロパティ
- PivotField オブジェクト、PivotItem オブジェクトの DataRange プロパティ
- Range コレクションの Dependents プロパティ
- QueryTable オブジェクトの Destination プロパティ
- Range コレクションの DirectDependents プロパティ
- Range コレクションの DirectPrecedents プロパティ
- Range コレクションの End プロパティ
- ListObject オブジェクトの HeaderRowRange プロパティ
- ListObject オブジェクトの InsertRowRange プロパティ
- Areas コレクションの Item プロパティ
- PivotField オブジェクト、PivotItem オブジェクトの LabelRange プロパティ
- HPageBreak オブジェクト、VPageBreak オブジェクトの Location プロパティ
- Range コレクションの MergeArea プロパティ
- Range コレクションの Next プロパティ
- Range コレクションの Offset プロパティ
- PivotTable オブジェクトの PageRange プロパティ
- PivotTable オブジェクトの PageRangeCells プロパティ
- Range コレクションの Precedents プロパティ
- Range コレクションの Previous プロパティ
- AllowEditRange オブジェクト、Application オブジェクト、AutoFilter オブジェクト、Hyperlink オブジェクト、ListColumn オブジェクト、ListObject オブジェクト、ListRow オブジェクト、PivotCell オブジェクト、Range コレクション、SmartTag オブジェクト、Worksheet オブジェクトの Range プロパティ
- Window オブジェクトの RangeSelection プロパティ
- Name オブジェクトの RefersToRange プロパティ
- Range コレクションの Resize プロパティ
- QueryTable オブジェクトの ResultRange プロパティ
- PivotTable オブジェクトの RowRange プロパティ
- Parameter オブジェクトの SourceRange プロパティ
- PivotTable オブジェクトの TableRange1 プロパティ
- PivotTable オブジェクトの TableRange2 プロパティ
- Application オブジェクトの ThisCell プロパティ
- ChartObject オブジェクト、OLEObject オブジェクト、Shape オブジェクトの TopLeftCell プロパティ
- ListObject オブジェクトの TotalsRowRange プロパティ
- Worksheet オブジェクトの UsedRange プロパティ
- Pane オブジェクト、Window オブジェクトの VisibleRange プロパティ
ただし
これら以外にも、場合によってRangeを返すプロパティやメソッドがありそうです。
たとえば Application オブジェクト、Window オブジェクトの Selection プロパティ。
参考にしたもの
- Simple OLE Browserのソース, http://homepage1.nifty.com/markey/ruby/win32ole/
- library win32oleのドキュメント, http://doc.ruby-lang.org/ja/1.9.3/library/win32ole.html
- Rubyist Magazine - Win32OLE 活用法 【第 1 回】 Win32OLE ことはじめ, http://magazine.rubyist.net/?0003-Win32OLE