有一台机器(不是电脑)。专门生成两种文件一种是*.txt还有一种是*.sto(sto文件里的内容也是文本文当)
这太机器生成的文件的文件名都是随机的。
现在我想把txt和sto文件合并成另外一个文件。条件是前缀文件名相同(比如说111.txt和111.sto文件合并,bgb.txt和bgb.sto文件合并)
我想请教各位高手,我怎么样才能让程序自动识别前缀名相同的文件呢?

解决方案 »

  1.   

    循环使用dir函数呀,得到文件名字符串,判断一下就可以了~
      

  2.   

    Private Sub Command1_Click()
      Str1 = "111.txt": str2 = "111.sto"
      'str2 = "112.sto"
      n1 = Left(Str1, InStr(Str1, "."))
      n2 = Left(str2, InStr(str2, "."))
      If n1 = n2 And n1 + "txt" = Str1 And n2 + "sto" = str2 Then
        MsgBox "ok"
      Else
        MsgBox "no"
      End If
    End Sub
    不知是不是这个意思
      

  3.   

    示例代码, 略作修改应该能就用于你的应用中了:Option ExplicitPrivate Sub Form_Load()
        Dim fso As Scripting.FileSystemObject
        Dim APath As String, TXTFile As String, STOFile As String    Set fso = CreateObject("Scripting.FileSystemObject")
        APath = "D:\"
        TXTFile = Dir(APath & "*.TXT")
        Do While TXTFile <> ""
            STOFile = fso.GetBaseName(TXTFile) & ".STO"
            If fso.FileExists(APath & STOFile) Then
                Debug.Print TXTFile, STOFile
                '在这里写上处理这两个文件的代码
            End If
            TXTFile = Dir
        Loop
        Set fso = Nothing
        End
    End Sub
      

  4.   

    Dim fso As Scripting.FileSystemObject
    这句话好象有错误
      

  5.   

    应该这样
    Dim fso As FileSystemObject
    或着直接
    Dim fso'直接申明一下也可以
      

  6.   

    引用 Microsoft Scripting Runtime,然后Dim fso As New FileSystemObject。或者:
        Dim fso As Object
        Set fso = CreateObject("Scripting.FileSystemObject")
      

  7.   

    To tntsolid(哦) :Dim fso As Scripting.FileSystemObject
    这句话好象有错误工程需要引用 Microsoft Scripting Runtime, 否则就会出现你所说的错误。