问个字符串截取问题,有经验的给说下怎么做,txtSignOnPic=文件路径+文件名 文件的选取通过CommonDialog 控件实现
例子 txtSignOnPic=D:\My Documents\a.jpg  文件选取后只有文件名变 txtSignOnPic=D:\My Documents\b.jpg
路径不变只有文件名变,我通过 CommonDialog 控件选着文件b.jpg后, txtSignOnPic=D:\My Documents\b.jpg
不知道说明白没?

解决方案 »

  1.   

    我猜你是要问怎么截取其中的路径吧。    Dim strName As String
        strName = "D:\My Documents\a.jpg"
        
        Dim strPath As String
        Dim lPos    As Integer
        lPos = 1
        Do While InStr(lPos, strName, "\")
            lPos = InStr(lPos, strName, "\") + 1
        Loop
        strPath = Mid(strName, 1, lPos - 1)
      

  2.   

    不要用循环,现成的函数:  Dim strPath$, fileName$, pos%
      strPath = "D:\My Documents\a.jpg"
      pos = InStrRev(strPath, "\")
      
      fileName = Right$(strPath, Len(strPath) - pos)
      strPath = Left$(strPath, pos)
      

  3.   

    strFileFullName=CommonDialog1.FileName
    //根据“\”将strFileFullName转化为数组
    dim vFillName as Variant
    vFillName=split(strFileFullName,"\")
    //最后一个就是文件名
    dim StrNewName as String
    StrNewName = vFillName(UBound(vFillName))
    //同样找到原Textbox中的文件名
    vFillName=split(txtSignOnPic.text,"\")
    //最后一个就是文件名
    dim StrOldName as String
    StrOldName = vFillName(UBound(vFillName))//将文本中的文件名换成新的文件名
    txtSignOnPic.text=replace(txtSignOnPic.text,StrOldName ,StrNewName )
      

  4.   

    3楼,请注意InStrRev这个函数的意思。