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 プロパティ。

参考にしたもの