コマンドラインで受け取った文字列の数の取得、CSVファイルの列数取得などに使える。
API関数は使わない。極めて純粋なVBのコードです。
'--------------------------------------------------------------------------- ' 関数名 : GetCharNumFromString ' 機能 : ある文字列に指定した文字がいくつ含まれているか調べる ' 引数 : (in) srcString … 対象文字列 ' (in) tgtString … 検索文字 ' (in) opFlag … True:2つ以上見つかったら終了 ' False:2つ以上見つかっても検索を続ける ' 返り値 : 見つかった数 '--------------------------------------------------------------------------- Public Function GetCharNumFromString(ByVal srcString As String, ByVal tgtString As String, _ ByVal opFlag As Boolean) As Long Dim FoundPos As Long Dim SearchStartPos As Long '検索開始位置 SearchStartPos = 1 Do FoundPos = InStr(SearchStartPos, srcString, tgtString, vbBinaryCompare) If FoundPos = 0 Then Exit Function SearchStartPos = FoundPos + Len(tgtString) GetCharNumFromString = GetCharNumFromString + 1 '行数をカウント If opFlag Then If GetCharNumFromString > 1 Then Exit Function End If Loop End Function |