喫茶XRAYトップページ

[スレッド全体
]

[11758] Excelのアクティブセルの位置の取得返信 削除
2018/3/13 (火) 00:23:13 ☆康☆ヾ
Mr. XRay さん

困ったときのXRayさん頼みです。以下のことについて、ぜひ宜しくお願いします。

ここのサイトのおかげで、最近、EXCELのファイルを読み書きできるようになり、
とても助かっております。
本当にありがとうございます。

今回も、EXCELファイルにワンクリックで数個の既定の文字列を代入すると
いう必要性にかられ、Delphiでプログラムを作りました。

基本的なものはできたのですが、今日、同僚に試験運用をさせたところ、
人間のわがままに対応できないことに気がつきました。

Delphiで、Excelのセルを指定して、そこに文字列を記入後、下に入力セル
を下げていくようにしているのですが、あっ、入力ミスした、あるいは、
やはりここのセルはこちらの文字列の方がいいなと思って、Excelのセルを
クリックしても、Delphiはそんなことは感知しないので、入力は前回の続きに
忠実に入力していくことになります。

で、Excel側でアクティブセルを変えたとき、それをDelphi側で検知して
入力セルを変えるようにしようと思い、文字列入力直前にアクティブセルの
検出をしようと思い、

ACol := WorkSheet.ActiveCell.Colmun
ARow := WorkSheet.Selection.Row

などの命令を確かめてみましたが、残念ながら、
「メソッド'Selection'はオートメーションオブジェクトでサポートされていません。」
というつれないエラーメッセージが表示され、動作しません。

Excelのアクティブセルの列・行の位置取得を教えていただけると、大変助かります。

ぜひ、よろしくお願いします。

[11761] Re:Excelのアクティブセルの位置の取得返信 削除
2018/3/13 (火) 09:39:18 Mr.XRAY
> ACol := WorkSheet.ActiveCell.Colmun
> ARow := WorkSheet.Selection.Row
>
> などの命令を確かめてみましたが、残念ながら、
> 「メソッド'Selection'はオートメーションオブジェクトでサポートされていません。」
> というつれないエラーメッセージが表示され、動作しません。


ちなみに VBA のヘルプで ActiveCell を調べてみると以下のようになっています.
何か気が付きません ?


[11762] Re2:Excelのアクティブセルの位置の取得返信 削除
2018/3/13 (火) 18:07:33 SO

[11763] Re3:Excelのアクティブセルの位置の取得返信 削除
2018/3/13 (火) 18:33:53 Mr.XRAY
▼ SOさん
> すごいヒント。

というよりそのままですね.ということで解決ですね (^^;

>ActiveCellはRange オブジェクトを返します。

そうなんですよね.
今は昔と違って MSDN でも VBA 関係の記事があるんですよね.
便利になったものです.大いに活用したいところです.

※ エクセルを操作する時は Range オブジェクトという概念の理解が必須かと


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82