取得した文字列が改行文字かどうか判断するには?

解決


初心者です。  2006-07-03 22:50:54  No: 132174

文字列を新規記入時に「vbCrLf」を使って改行させています。
逆に既存の文字列を一括変更させるプログラムを組みたいのですが、
取得した文字列に改行コードがあるかないかを判断させたいのです。
どうすればよろしいでしょうか。
Instr関数なんでしょうか。?
教えて下さい。


特攻隊長まるるう  2006-07-03 22:59:41  No: 132175

>Instr関数なんでしょうか。?
です。
使用例はヘルプ(MSDN)を見てください。
コード中の『InStr』の部分を選択して[F1]キーで表示されます。


初心者です  2006-07-03 23:26:55  No: 132176

早速の御回答ありがとうございます。
改行文字の場合は・・・というプログラムとして以下のコードを記述しました。
If InStr(text, Asc(vbCrLf)) <> 0 Then ・・・・・
上記のコードでうまくいかないのですが、何がおかしいのでしょうか。


初心者です  2006-07-03 23:55:13  No: 132177

If InStr(text, chr(13)) <> 0 Then ・・・・・
でできました。ありがとうございました。


特攻隊長まるるう  2006-07-04 00:00:01  No: 132178

>If InStr(text, chr(13)) <> 0 Then ・・・・・
>でできました。
違います。
chr(13)は vbCr です。
vbCrLf は Chr(13) + Chr(10) です。

以下、ヘルプより抜粋。
>InStr 関数
>構文
> InStr([start, ]string1, string2[, compare])
>
>string2     必ず指定します。引数 string1 内で検索する『文字列式』を指定します。 

>Asc 関数
>『整数型 (Integer)』 の値を返します。指定した文字列内にある先頭の文字の
>文字コードを返す変換関数です。

例えば、『お』を探す場合、
  Dim strEx As String
  strEx = "あいうえ" & "お" & "かきく"
  Debug.Print InStr(strEx , "お")
であって
  Debug.Print InStr(strEx , Asc("お"))
ではありません。

改行コードも、特殊ではありますが、文字列と同じような存在です。
  Dim strEx As String
  strEx = "あいうえ" & vbCrLf & "かきく"
  Debug.Print InStr(strEx, vbCrLf)
となります。

ちなみに
  Debug.Print Asc(vbCrLf)

>13
と出力されますので、
>If InStr(text, Asc(vbCrLf)) <> 0 Then ・・・・・

  If InStr(text, "13") <> 0 Then ・・・・・
と同じ意味となります。


特攻隊長まるるう  2006-07-04 00:33:15  No: 132179

サンプルコード
[VB6.0]
Private Sub Command1_Click()
    Dim strEx As String
    strEx = "あいう" & Chr(13)
    Call Hantei(strEx, Chr(13))
    Call Hantei(strEx, vbCr)
    Call Hantei(strEx, vbCrLf)
    strEx = "あいう" & vbCrLf
    Call Hantei(strEx, vbCr)
    Call Hantei(strEx, vbLf)
    Call Hantei(strEx, vbCrLf)
End Sub

Private Sub Hantei(ByVal String1 As String, ByVal String2 As String)
    Dim lngIndex As Long
    lngIndex = InStr(String1, String2)
    If lngIndex = 0 Then
        Debug.Print "見つからない。。。"
    Else
        Debug.Print CStr(lngIndex) & " 番目に見つけた!"
    End If
End Sub


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

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






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