初歩的な質問であろうことは分かるのですが、初心者のため
ご容赦ください。
現在スプレッドを使ってプログラムをしているのですが、
「スプレッドの行を選択したとき」
使用可にするはどうすればよいでしょうか?
Form_load時に
Option.Enabled = Falseとし、
他のボタンを押したときと同じように
Private Sub spd_Advance(ByVal AdvanceNext As Boolean)
Option.Enabled = True
End Sub
としたのですが上手くいきません。
そもそも上のだと行選択という条件を満たしていないので
そもそもダメなのですが...
色々調べてみたのですがどうしても分からなかったので、
どうかアドバイスをお願いします。
VB6でスプレッドはSPREAD/OCX V2.5J
を使用しています。
すいません。
行選択、というよりはどこかのセルを選択したときに
ボタンを使用可にする、です。
失礼しました。
どうかアドバイスをお願いします。
> どうかアドバイスをお願いします。
と、言われても・・・
何を言っているのか(何をやろうとしてていて、何に困っていて、結局質問は何なのか)がさっぱり分かりません。
よって、アドバイスしようがありません。
失礼しました。
もう一度説明させていただきますと、まずオプションボタンを
Option.Enabled = False
によって押せないようにします。
その後スプレッドのどこかのセルが選択されたとき押せるようにする、
というものが作りたいのです。
わからないのはどうやってセルが選択されたのか判別する、という
ことについてです。
もしまだ説明が不十分であればどうぞご指摘ください。
> わからないのはどうやってセルが選択されたのか判別する
「セルをが選択」とは、どういう状況の事でしょうか?
(1)スプレッドにフォーカスがくれば、必ずどこかのセルが選択されますよね?この状態のことですか?
=>「GotFocusイベント」?
(2)セルが入力モードになったときでしょうか?
=>「EditModeイベント」?
(3)複数セルをまとめて指定する際に反転表示された状態でしょうか?
=>「BlockSelectedイベント」?
(4)セルを移動したとき?
=>「LeaveCellイベント」や「LeaveRowイベント」?
いずれにせよ「Advanceイベント」の出番は無いと思いますが・・・
それとも、
(5)単純にマウスクリックされたとき?
=>「Clickイベント」?
返信ありがとうございます。
そうです。(1)の状態のことです。
「GotFocusイベント」というのですね。
分かりませんでした。
それでさっそく使い方を自分で調べて
Private Sub spd_GotFocus()
Option.Enabled = True
End Sub
としたのですがいまだ押せるようになりません。
使い方間違っているのでしょうか?
実際に、試してみようとしましたが・・・
そもそも「Option」って、VBでは予約語なので
> Private Sub spd_GotFocus()
> Option.Enabled = True
> End Sub
これって、エラーで実行できないのでは・・・
#ちなみに別の名前にして、オプションボタンとスプレッドだけ配置して
#Form_Loadとspd_GotFocusだけを宣言して試しましたが、
#押せるようになりますね・・・
大変失礼しました。
単純に目的と違うオブジェクトの名前を指定していました。
本当に失礼しました。
ツイート | ![]() |