hatena
hatena
2020/10/07 (水) 14:11:24
1文字でも入力したらというのは難しいですが、薄く表示させておいてフォーカスが来たら消えるという仕様なら下記の方法で可能です。
「名前」テキストボックスの上に重なるようにテキストボックスを配置して下記のように設定します。
プロパティ | 設定値 |
---|---|
コントロールソース | =IIf([名前]<>"","","名前") |
背景スタイル | 透明 |
境界線スタイル | 透明 |
前景色 | 灰色 |
タブストップ | いいえ |
名前 | ph名前 |
フォーカス取得時のイベントプロシージャを下記のように記述します。
Private Sub ph名前_Enter()
Me.名前.SetFocus
End Sub
以上です。
通報 ...
フォーカスのあるテキストボックスは背景スタイルの「透明」が無効になるので「名前」テキストボックスを最前面へ移動して背景スタイルを「透明」にしてあげればVBAはいらないかなと
1文字でも入力したら~を実現しようと思ったらEnterでNullなら幅0、文字入力orExitで幅を戻すとかする感じですかねぇ。労力に見合った感じはしないですね
なるほど、それがシンプルでいいですね。
単票フォームならいいですが、帳票フォームだとカレント行以外にも影響を与えるので、それを考慮すると難しい。条件付き書式で文字色を白(背景色と同じ)にすることになるかな。下記の応用で。
カレント行の背景色の変更 - hatena chips