投稿日 | : 2006/12/19(Tue) 13:51 |
投稿者 | : YK |
Eメール | : |
URL | : |
タイトル | : Re^8: Changeイベントでテキストボックスを変換 |
こんにちは。
> 複数文字を入れようとすると、先頭の1文字のみがポインタ
> のある位置に入り残りすべてが、最後に入ってしまいます。
>
> どう対処すればいいですか。
るしぇさんのコードをお借りしています。
Option Explicit
Private m_SyorityuFlag As Boolean '処理中フラグ
Private Sub Text1_Change()
Dim top_chr As String
Dim str_chr As String
Dim lPosi As Long
If m_SyorityuFlag Then Exit Sub
lPosi = Text1.SelStart
top_chr = UCase(Mid$(Text1.Text, 1, 1))
str_chr = LCase(Mid$(Text1.Text, 2))
m_SyorityuFlag = True
Text1.Text = top_chr & str_chr
m_SyorityuFlag = False
If Text1.SelStart = 0 Then
Text1.SelStart = 1
Else
Text1.SelStart = lPosi
End If
End Sub
Private Sub Text2_Change()
Dim lPosi As Long
lPosi = Text2.SelStart
Text2 = StrConv(Text2, vbProperCase)
If Text2.SelStart = 0 Then
Text2.SelStart = 1
Else
Text2.SelStart = lPosi
End If
End Sub