■31702 / ) |
Re[1]: 置換の仕方について |
□投稿者/ 魔界の仮面弁士 (971回)-(2009/01/27(Tue) 17:11:59)
|
■No31700 (naoko さん) に返信 > txtBOXに入力された半角数値を自動的に全角に置換させたいのですが > txt_KeyPressイベントにて処理しようとしてるのですが
(Vista や XP Tablet などで)「ペン入力」された場合、KeyPress は発生しませんのでご注意を。 また、マウスの右クリックでクリップボードから「貼り付け」した場合も発生しません。
> Dim d As String > d = txt(1).Text txt は、TextBox の「コントロール配列」なのでしょうか?
> KeyAscii = StrConv(d, vbUpperCase) KeyPress イベントの引数を良く見てください。『KeyAscii As Integer』になっていますよね。 StrConv の結果は String 型なので、そのままでは Integer 型としては扱えません。
書くとすれば、 Private Sub txt_KeyPress(Index As Integer, KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub のようになるでしょう。
> また、”’(シングルクォーテーション)”が入力された場合、’を削除させたいのですが > それもうまくいきません。 『'』ではなく、 『’』を削除したいのですね?
であれば、こんな感じで。 Private Sub txt_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = Asc("’") Then KeyAscii = 0 End If End Sub
> どのような書き方が宜しいのでしょうか? Change イベントや LostFocus イベントを併用した方が良いかも。
|
|