Re[12]: ネットワークコンピュータの中のあるファイルの選択


[コメントツリー表示を見る] [発言時刻順表示を見る]

Posted by Uz on 2001/03/04 22:18:19

In Reply to: Re[11]: ネットワークコンピュータの中のあるファイルの選択 Posted by saito on 2001/03/04 21:54:29


    > ところで、表示した後、リストボックス内をクリックすると
    > パスがMSGBOXに表示されると思うのですが
    ちなみに、これはクリックされたパス内のファイルやフォルダの
    一覧を出してます。

    > VB5ではREPLACE関数がサポートされてないようです。
    > 変わりに使える変数はなにかあるのでしょうか?

    そっか、Replaceもそうか。
    VB6で大分文字関連強化されてたんだね。
    僕がReplace関数に気づく前(っていってもVB5のころ)に作った関数が
    あるので、これを使ってください。

    sPath = Replace(sPath, vbTab, "")

    Call ReplaceString(sPath, vbTab, "")
    としてください。

    こういう関数自分で作ってみるのも勉強になりますよ。
    Replace関数は文字列中のある文字を別の文字に置き換える
    って関数だから、そんなに難しくないよ。


    '///////////////////////////////////////////////////////////////////////////
    ' 関数名 : ReplaceString
    ' 目的説明 : 文字列の置換を行う
    ' 前提条件 : なし
    ' 結果 : strBaseが置換される
    ' 引数 : strBase 変更される文字列
    ' strBefore 置換される単語
    ' strAfter 置換する単語
    ' 戻り値 : なし
    ' 備考 ; なし
    '///////////////////////////////////////////////////////////////////////////
    Public Sub ReplaceString(strBase As String, strBefore As String, strAfter As String)
    Dim lngPos As Long

    If strBase = "" Then Exit Sub
    lngPos = 1
    While lngPos <> -1
    lngPos = InStr(lngPos, strBase, strBefore, vbTextCompare)
    If lngPos <> 0 Then
    strBase = Left(strBase, InStr(lngPos, strBase, strBefore, vbTextCompare) - 1) & strAfter & Right(strBase, Len(strBase) - InStr(lngPos, strBase, strBefore, vbTextCompare) - Len(strBefore) + 1)
    lngPos = lngPos + Len(strAfter)
    Else
    lngPos = -1
    End If
    Wend
    End Sub


記事スレッド一覧