喫茶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 を調べてみると以下のようになっています.
何か気が付きません ?


[11765] Re2:Excelのアクティブセルの位置の取得返信 削除
2018/3/13 (火) 21:17:56 ☆康☆ヾ
▼ Mr.XRAYさん
> > ACol := WorkSheet.ActiveCell.Colmun
> > ARow := WorkSheet.Selection.Row
> >
> > などの命令を確かめてみましたが、残念ながら、
> > 「メソッド'Selection'はオートメーションオブジェクトでサポートされていません。」
> > というつれないエラーメッセージが表示され、動作しません。
>
> ちなみに VBA のヘルプで ActiveCell を調べてみると以下のようになっています.
> 何か気が付きません ?


早速のレス、ありがとうございます。

最初、意味がよくわからなかったのですが、分かりました。
Delphi Excelで検索をしていてヒットしなかったのですが、
VBA Excel で検索をして、意味もわかりました。

ACol := ExcelApp.ActiveCell.Column;
ARow := ExcelApp.ActiveCell.Row;

で取得できました。

てっきり、アクティブセルなので、ワークシートに対する命令だと思い込んで
いました。
Excelアプリに対する命令なんですね。

無事に解決した報告と、お礼を申し上げます。
ありがとうございました。

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