#373 常にテキストボックスの最後尾にカーソルを置く方法 フォーム、VBA

本Access Tipsの「#040 フォーカス取得時にテキストボックスの先頭にカーソルをおくには?」では、テキストボックスにフォーカスが移動したときにテキスト全体が選択状態になるのを回避して、先頭にカーソルが移動する方法を説明していますが、ここでは逆に、テキストボックスに入力されている文字列の最後尾にカーソルを自動的に移動させる方法を紹介します。

ここでもやはり、テキストボックスコントロールの"SelStart"プロパティ"SelLength"プロパティ を使います。SelLengthプロパティによって、テキストボックス上で範囲選択されている文字数を取得します。フォーカスが移ってきた時点では、勝手にテキスト全体が範囲選択されていますので、この値はテキストボックスに入力されているデータの文字数と等しくなります。またSelStartプロパティを使って、テキストボックス内でのカーソル位置を設定します。

Private Sub 出荷先名_GotFocus()
'出荷先名テキストボックスのフォーカス取得後イベント

  With Me!出荷先名
    '選択長さの位置にカーソル移動
    .SelStart = .SelLength
  End With

End Sub


通常のフォーカス移動後の状態
通常のフォーカス移動後の状態

上記のイベントプロシージャを組み込んだ場合
イベントプロシージャを組み込んだ場合
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved