比如fsadfff dfd safsdf
dsaf sdffd sadfdsfdf
这个用输出VBTAB可以但是我想要的是fsadfff--dfd------safsdf
dsaf-----sdffd----sadfdsfdf这样对齐,应该怎么办呢,中间不是TAB的空格,而是有其他内容填充

解决方案 »

  1.   

    String(2, "-")
    String(5, "-")
      

  2.   

    Private Sub Form_Load()
    Debug.Print "fsadfff" & String(2, "-") & "dfd" & String(6, "-") & "safsdf "
    Debug.Print "dsaf" & String(5, "-") & "sdffd" & String(4, "-") & "sadfdsfdf "
    End Sub
      

  3.   

    随手写了一个,感觉不是很好,抛砖引玉吧:
    Function GetStr(ByVal pStr As String) As String
        Dim s As String * 9
        Dim a
        Dim i As Long
        
        a = Split(pStr, Space(1))
        For i = 0 To UBound(a)
            s = a(i)
            a(i) = s
        Next
        a = Trim(Join(a, ""))
        GetStr = Replace(a, Space(1), "-")
        
    End FunctionPrivate Sub Command1_Click()
        Dim s As String
        
        s = "fsadfff dfd safsdf"
        Debug.Print GetStr(s)
        
        s = "dsaf sdffd sadfdsfdf"
        Debug.Print GetStr(s)
        
    End Sub
      

  4.   

    这个好一点吧:Function GetStr(ByVal pStr As String, Optional Num As Long = 9) As String
        'pStr要分隔的字符串   num间隔的字符间距
        Dim s As String
        Dim a
        Dim i As Long, n As Long
        
        a = Split(pStr, Space(1))
        n = UBound(a)
        s = String(n * Num, "-")
        For i = 0 To n - 1
            Mid(s, i * Num + 1, Len(a(i))) = a(i)
        Next
        GetStr = s & a(n)
      

  5.   

    我的意思是,有tab键的功能,但是空的部分是用其他字符例如 -  代替中间有多少个-自己是不确定的,因为单词长度不确定,最终的结果是所有单词对齐