Dim strFileFullName     As String
    Dim vFillPName          As Variant
    Dim vFillTName          As Variant
    Dim strNewName          As String
    Dim strOldName          As StringstrFileFullName = commPicture.FileName
    vFillPName = Split(strFileFullName, "\")
    If vFillPName = "" Then           ----这有字符串转换类型错误,如果不加判断1处如果是空字符报错错
    Else
        strNewName = vFillPName(UBound(vFillPName))--1
        
    End If
    
    If vFillTName = "" Then
    Else
        vFillTName = Split(txtSignOnPic.Text, "\")--同样如果是txtbox内容为空也报错
        strOldName = vFillTName(UBound(vFillTName))
    
    End If谁给解决一下,谢谢

解决方案 »

  1.   

    你的愿意是去掉路径名吧?不需要那么复杂。strFileFullName = commPicture.FileName 
    strNewName = commPicture.FileTitlestrOldName = Mid(txtSignOnPic.Text, InStrRev(txtSignOnPic.Text, "\") + 1)
      

  2.   

    先不谈你想达到什么目的,执行了
    vFillPName = Split(strFileFullName, "\") 
    后 vFillPName 已经是一个数组了,数组怎么和字符串直接比较,基础概念要搞清楚。
      

  3.   

    If vFillPName = "" Then      改为if ubound(vfillPName)>=0 then
       strNewName = vFillPName(UBound(vFillPName))
    end if下同