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


ぎびりろ  2008-05-01 23:44:32  No: 139662  IP: 192.*.*.*

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

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-01 23:50:48  No: 139663  IP: 192.*.*.*

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

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


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

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

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

編集 削除
デバッグ方法  2008-05-02 00:23:01  No: 139664  IP: 192.*.*.*

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

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以降ではちょっと違いますが。

編集 削除