Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


43897 / 76735 ←次へ | 前へ→

【37865】Re:テキストボックスの入力不可について
発言  ichinose  - 06/5/21(日) 15:30 -

引用なし
パスワード
   みなさん、こんにちは。
>msdnには、TextBox.Lockedプロパティについて、つぎのように記述されています。
>
>保護されているシートで、TextBox をデザイン時に変更できるかどうかを示す値を取得または設定します。
>TextBox は、シートが保護されている場合のみロックできます。ロックされた TextBox は、デザイン時に移動またはサイズ変更できません。
>
>つまり、ユーザフォームとは違うようです。
>シートのテキストボックスの入力不可には、Enablesd=Falseがよさそうです。

テラさんのご希望の処理は
  Enablesd=False
でも良いかもしれません
(私もEnabledを設定することが圧倒的に多いです)。

ただ、ユーザーフォーム上のTextboxコントロールにたいして
  Locked=True
としたときの動作とちょっと違いますよね?

Locked=Trueは、フォーカスを取得することはできますよね?
(たいした問題ではないですけど・・・)


コントロールツールボックスのテキストボックスを
適当なシート(Sheet1)に配置した場合(Textbox1とします)、
コントロール名を直接指定して

Worksheets("Sheet1").Textbox1.Locked=True

では、
>TextBox は、シートが保護されている場合のみロックできます。ロックされた >TextBox は、デザイン時に移動またはサイズ変更できません。

という設定をしていることになってしまいます。
何故なのか?は、わかりません、私も不可解です。

しかし、

  With Worksheets("sheet1").OLEObjects("textbox1").Object
    .Locked = True
    End With

とすれば、ユーザーフォーム上のテキストボックスのLockedプロパティと
同じ動作をしてくれます。

因みに

  Worksheets("sheet1").OLEObjects("textbox1").Locked = True

とすれば、

>TextBox は、シートが保護されている場合のみロックできます。ロックされた >TextBox は、デザイン時に移動またはサイズ変更できません。

という制御を行っています。

試してみて下さい

1 hits

【37857】テキストボックスの入力不可について テラ 06/5/21(日) 3:37 質問
【37859】Re:テキストボックスの入力不可について Marin 06/5/21(日) 9:26 発言
【37860】Re:テキストボックスの入力不可について Kein 06/5/21(日) 12:30 回答
【37862】Re:テキストボックスの入力不可について 電脳しゅん 06/5/21(日) 14:34 回答
【37865】Re:テキストボックスの入力不可について ichinose 06/5/21(日) 15:30 発言
【37867】Re:テキストボックスの入力不可について テラ 06/5/21(日) 22:03 お礼
【37868】Re:テキストボックスの入力不可について ichinose 06/5/22(月) 8:26 発言

43897 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free