2009-08-28 25 views
12

Visual Basic 6で文字列配列の最後の要素を取得するにはどうすればよいですか?vb6の文字列配列の最後の要素を取得しますか?

複数のドットが配列に分割されたファイル名を処理していますが、拡張子のみを操作したいとします。次のコードは機能しますが、削除したいハードコード要素があります。

Private Sub Form_Load() 
    Dim aPath() As String 
    Dim FileName As String 
    Dim realExt As String 

    FileName = "A long dotty.file.name.txt" 
    aPath = Split(FileName, ".") 

    realExt = aPath(3) ' <-- how to not hardcode?' 

    MsgBox ("The real extension is: " & realExt) 
    Unload Me 
End Sub 
+1

「。」の最後のインデックスを見つけるだけではどうですか。文字列の文字ですか? –

答えて

25

私はUBOUNDはトリックを行う必要があります使用して思う:

Private Sub Form_Load() 
    Dim aPath() As String 
    Dim FileName As String 
    Dim realExt As String 

    FileName = "A long dotty.file.name.txt" 
    aPath = Split(FileName, ".") 

    realExt = aPath(UBound(aPath)) 

    MsgBox ("The real extension is: " & realExt) 
    Unload Me 
End Sub 
3
realExt = aPath(ubound(aPath)) 
+0

- ありがとうございます! –

0

それは本当にあなたが後にしているだけ延長だ場合は、これが仕事をするでしょう:

Private Sub Form_Load() 
    Dim sFileName As String 
    Dim lPos As Long 
    Dim sRealExt As String 

    sFileName = "A long dotty.file.name.txt" 
    lPos = InStrRev(sFileName, ".") 
    If lPos Then sRealExt = Mid$(sFileName, lPos + 1) 
End Sub 
関連する問題