ボタンの使用可・不可を切り替えるには?

解決


バロシュ  2007-02-23 05:04:45  No: 135435

初歩的な質問であろうことは分かるのですが、初心者のため
ご容赦ください。

現在スプレッドを使ってプログラムをしているのですが、
「スプレッドの行を選択したとき」
使用可にするはどうすればよいでしょうか?

Form_load時に
Option.Enabled = Falseとし、
他のボタンを押したときと同じように
Private Sub spd_Advance(ByVal AdvanceNext As Boolean)
Option.Enabled = True
End Sub
としたのですが上手くいきません。

そもそも上のだと行選択という条件を満たしていないので
そもそもダメなのですが...
色々調べてみたのですがどうしても分からなかったので、
どうかアドバイスをお願いします。

VB6でスプレッドはSPREAD/OCX V2.5J
を使用しています。


バロシュ  2007-02-23 05:31:46  No: 135436

すいません。
行選択、というよりはどこかのセルを選択したときに
ボタンを使用可にする、です。
失礼しました。


バロシュ  2007-02-24 04:27:20  No: 135437

どうかアドバイスをお願いします。


大吉末吉  2007-02-24 04:39:26  No: 135438

> どうかアドバイスをお願いします。
と、言われても・・・

何を言っているのか(何をやろうとしてていて、何に困っていて、結局質問は何なのか)がさっぱり分かりません。

よって、アドバイスしようがありません。


バロシュ  2007-02-24 05:39:47  No: 135439

失礼しました。

もう一度説明させていただきますと、まずオプションボタンを
Option.Enabled = False
によって押せないようにします。
その後スプレッドのどこかのセルが選択されたとき押せるようにする、
というものが作りたいのです。

わからないのはどうやってセルが選択されたのか判別する、という
ことについてです。

もしまだ説明が不十分であればどうぞご指摘ください。


大吉末吉  2007-02-24 05:52:05  No: 135440

> わからないのはどうやってセルが選択されたのか判別する

「セルをが選択」とは、どういう状況の事でしょうか?

(1)スプレッドにフォーカスがくれば、必ずどこかのセルが選択されますよね?この状態のことですか?
  =>「GotFocusイベント」?
(2)セルが入力モードになったときでしょうか?
  =>「EditModeイベント」?
(3)複数セルをまとめて指定する際に反転表示された状態でしょうか?
  =>「BlockSelectedイベント」?
(4)セルを移動したとき?
  =>「LeaveCellイベント」や「LeaveRowイベント」?

いずれにせよ「Advanceイベント」の出番は無いと思いますが・・・


大吉末吉  2007-02-24 05:55:18  No: 135441

それとも、

(5)単純にマウスクリックされたとき?
=>「Clickイベント」?


バロシュ  2007-02-24 06:24:36  No: 135442

返信ありがとうございます。
そうです。(1)の状態のことです。
「GotFocusイベント」というのですね。
分かりませんでした。
それでさっそく使い方を自分で調べて

Private Sub spd_GotFocus()
Option.Enabled = True
End Sub

としたのですがいまだ押せるようになりません。
使い方間違っているのでしょうか?


大吉末吉  2007-02-24 06:46:53  No: 135443

実際に、試してみようとしましたが・・・

そもそも「Option」って、VBでは予約語なので

> Private Sub spd_GotFocus()
> Option.Enabled = True
> End Sub
これって、エラーで実行できないのでは・・・

#ちなみに別の名前にして、オプションボタンとスプレッドだけ配置して
#Form_Loadとspd_GotFocusだけを宣言して試しましたが、
#押せるようになりますね・・・


バロシュ  2007-02-24 06:58:43  No: 135444

大変失礼しました。
単純に目的と違うオブジェクトの名前を指定していました。

本当に失礼しました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加