テキストボックス内の改行位置を検索するには?


ぎびりろ  2008-05-02 08:44:32  No: 139662

こんにちわ。
テキストボックス内の改行位置を検索する方法を探しています。
以下のようなコードをつくってみましたが、うまくいきません。
アドバイスよろしくお願いします。

Private Sub command1_Click()
Dim i As Integer
Dim lg As Integer

lg = Len(Text1.Text)

For i = 1 To lg
  If Mid(Text1.Text, i, 1) = vbCrLf Then
     MsgBox "改行"
  End If
Next i

End Sub


魔界の仮面弁士  2008-05-02 08:50:48  No: 139663

> テキストボックス内の改行位置を検索する方法を探しています。

InStr 関数を使ってみましょう。

>  If Mid(Text1.Text, i, 1) = vbCrLf Then

「vbCrLf」=「vbCr & vbLf」です。
すなわち、vbCrLf とは 2 文字です。

しかし Mid(Text1.Text, i, 1) は、1 文字分しか返さないので、
この比較式は常に一致しなかった、という事です。


デバッグ方法  2008-05-02 09:23:01  No: 139664

なんだかわからないときは目に見るようにすると
ヒントが出てくるときもあります

For i = 1 To lg

' イミディエイトウィンドウに出力
  Debug.Print Asc(Mid(Text1.Text, i, 1))

  If Mid(Text1.Text, i, 1) = vbCrLf Then
     MsgBox "改行"
  End If
Next i

#VB.NET以降ではちょっと違いますが。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加