POIのAPIにセルの名前で、セルのオブジェクトが取得できるようなメソッドができれば…とか思ってて、その記事を見つけてショートカット作って忘れた。
孔明日記 - 名前付きセルの取得方法
改めて、セルの名前の定義ってワークブック単位なんだってことを知った。
Excel上で、異なるワークシートのセルに同じ名前付けたら、前のセルの名前の定義情報は消えちゃう(上書きされる)のね、とか。
この辺りのAPIで。
セルの名前の定義のインデックスを取得して、
HSSFWorkbook#getNameIndex
そのインデックスから名前の定義(HSSFName)を取得して、
HSSFWorkbook#getNameAt
名前の定義が示す、セルの範囲(getReferenceはDeprecated)を取得して、
HSSFName#getRefersToFormula
セルの範囲の開始から終了をループをすれば取得できるよ。
って書いてるけど、3.5ではRangeAdressクラスがなくなっている!
3.5のAPIを辿ってみると、CellReferenceクラスのgetCellRefPartsメソッドとか使って、できるような気がしないでもない。
またちょっと試してみよう。