Microsoft Access 掲示板

短いテキスト型のテキストボックス内で改行するとき / 2

4 コメント
views
4 フォロー
2

とりあえず、
貼り付けの場合は何もしない、
3行入力してあるときに、Enterキーを押したら次のテキストボックスへ移動するということだとして(カーソルがどこにあっても)、
下記のコードになります。

Private Sub テキスト1_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim s As String
    If KeyCode = vbKeyReturn Then
        s = Me.テキスト1.Text
        If Len(s) - Len(Replace(s, vbCrLf, "")) >= 4 Then
            KeyCode = 0
            Me.テキスト3.SetFocus
        End If
    End If
End Sub
通報 ...
  • 3

    回答ありがとうございます。
    実装できたのですが、改行無しで2行や3行になった場合、4行目・5行目を入力することができてしまいます。

    例えば、幅7㎝、高さ1.5cmのテキストボックスにフォントサイズ14だと、文字詰め無しのフォントで1行あたり14文字入力、スクロールなしで3行分表示できるのですが、20文字入力すると6文字分が2行目に行き、入力を進めていくと4行目、5行目にも入力出来てしまいます。

    コード的に、改行("")の個数で判断してるためだと思いますが、解決方法はありますでしょうか。