E:\work\我的文件.txt
        ↑     ↑            
 有没有这样一个函数,可以依照从字符串X位读到某个标志位从而选择一个子字符串。比如,读取“我的文件”子串,从第9位开始直到“.”

解决方案 »

  1.   

    Option ExplicitPrivate Sub Form_Load()
        Dim ls      As String
        
        ls = "E:\work\我的文件.txt"
        
        Debug.Print Mid$(ls, 9, InStr(1, ls, ".") - 9)
        
    End Sub
      

  2.   

    Function Mid(String, Start As Long, [Length])
        Member of VBA.Strings
        Returns specified number of characters from a stringFunction InStr([Start], [String1], [String2], [Compare As VbCompareMethod = vbBinaryCompare])
        Member of VBA.Strings
        Returns the position of the first occurrence of one string within another
      

  3.   

    to :yunfeng007(一水寒) mid可以按位来取字符串,可是如果有如下这样的一组字符串,用mid来一次性的读取文件名字符串是不可能的。E:\work\我的文件.txt
    E:\work\我的第二个文件.txt
    E:\work\我的.txt
    ....
    ....
    ....
      

  4.   

    一个txt文件
    0001,2003-07-23,10000
    0001,2003-07-23,30000
    0001,2003-07-23,60000
    0001,2003-07-23,  100
    0001,2003-07-23, 5000如何能转换成
    0001 2003-07-23 10000
    0001 2003-07-23 30000
    0001 2003-07-23 60000
    0001 2003-07-23   100
    0001 2003-07-23  5000
      

  5.   

    用split函数
    dim  myStrArr as Variant
    myStrArr=split("0001,2003-07-23,10000",",")
    myStrArr(0)="0001"
    myStrArr(1)="2003-07-23"
    myStrArr(2)="10000"
    下边怎么处理随你
      

  6.   

    把逗号(单引号)换为空格用replace函数如果你想取中间一个字符串的值,那你用instr以及mid等函数
      

  7.   

    一个txt文件
    0001,2003-07-23,10000
    0001,2003-07-23,30000
    0001,2003-07-23,60000
    0001,2003-07-23,  100
    0001,2003-07-23, 5000如何能转换成
    0001 2003-07-23 10000
    0001 2003-07-23 30000
    0001 2003-07-23 60000
    0001 2003-07-23   100
    0001 2003-07-23  5000
    可以给出一个简单的处理程序么?
      

  8.   

    取文件名:Option Explicit
    Dim ls      As String
      ...
      ls =filename
      ls=Right(ls,InstrRev(ls,"\")+1,len(ls)- InstrRev(ls,"\"))  ...
      

  9.   

    newStr = replace(oldStr,","," ")
      

  10.   

    一个txt文件
    0001,2003-07-23,10000
    0001,2003-07-23,30000
    0001,2003-07-23,60000
    0001,2003-07-23,  100
    0001,2003-07-23, 5000
    我想在读取的时候一条一条转换,用空格代替“,”,现在的问题是,怎么读这一整串数据(0001,2003-07-23,10000)?
      

  11.   

    open
    input读取0001,2003-07-23,10000这样的数据,读出的时候是分着读的。结果一条数据读成了三条数据。
      

  12.   

    Option ExplicitPrivate Sub Command1_Click()    Dim iFileNum                As Integer
        Dim strFileName             As String
        Dim ls                      As String
        
        strFileName = "C:\1.txt"
        iFileNum = FreeFile
        
        Open strFileName For Input As #iFileNum
            
        Do While Not EOF(iFileNum)        Line Input #iFileNum, ls   ' Read line into variable.
            Debug.Print ls   ' Print to the Immediate window.    Loop
        
        Close #iFileNum
        
    End Sub===================================
    输出结果
    0001,2003-07-23,10000
    0001,2003-07-23,30000
    0001,2003-07-23,60000
    0001,2003-07-23,  100
    0001,2003-07-23, 5000