|
2024/04/17(Wed) 12:51:20 編集(投稿者)
■No103066 (ヒノザル さん) に返信 > Posで座標情報をもとにExcelのセルの名称を取得することはメソッドがないので不可能です。
「セルの名称」という表現が、この場合、何を指すのかちょっと曖昧なので再確認…。 「セルの名前」(いわゆる定義名)のことでは無いのですね?
「セルの名前」と呼ばれるものは、Excel の [数式] タブの [定義された名前] のことを指すことが多いです。 Excel VBA でいうところの Name オブジェクトのこと。
一方、ここでいう「セルの名称」というのはもしかして、 A1 とか A1:C4 といった表記のことを言っておられたのでしょうか?
今回の質問が、仮に 『ExcelCreator』の話であったのならば、 A1参照形式には .Pos ではなく、.Cell プロパティを用います。 この .Cell プロパティには「セルの名前」を指定することもできます。
下記は ActiveX 版のコードですが、おそらくは .NET 版でも同じような感じになると思います。
Xlsx1.Pos(0, 2).Str = "Visual Basic" '0番目の列(A列)、2番目の行(行3)に対するセル指定 Xlsx1.Pos(1, 2, 2, 5).Attr.Format = ";[赤]-0.0" '範囲指定
' A1:B2 セルを指定して値を設定 'Xlsx1.Pos(0, 0, 1, 1).Str = "abc" 'Pos プロパティを使った場合 'Xlsx1.Cell("A1:B2").Str = "abc" 'Cell プロパティを使った場合
Xlsx1.Cell("A1").Str = "C#" 'A1 形式文字列でのセル指定 Xlsx1.Cell("D10", -2, 5).Long = 1234 'オフセット指定でB10 セルを指定(D10 のセルから左に2、下に5の位置)
' セルの名前(定義名)を指定する方法 Xlsx1.Cell("CompanyName").Str = "わんくま同盟"
' セルの定義名ではなく、二重アスタリスクで始まる「変数名」を指定する方法 ' ★これは ActiveX 版の話であり、.NET 版で使えるかは当方未確認です。 Xlsx1.Cell("**Variable1").Str = "わんくま同盟" ' ' 上記は、セルやテキストボックスに「**Variable1」という値が書かれている箇所に、文字列を設定します。 ' 既定では、頭に半角アスタリスク「*」が2つついた文字列が変数名として認識されますが、 ' KeyWordプロパティを使用すると、半角アスタリスク以外の半角文字に変更することもできます。 ' (関連:VarInsertMode プロパティ)
|