首页 > 解决方案 > 搜索特定格式的字符串;在文件名中并将其分配给变量

问题描述

我正在从电子邮件下载文件(附件)。我通常在文件夹中有大约 10 个文件Archive。(我正在处理文件并删除它们)。

文件有不同的名称。但是,一个文件的名称始终为File XS8456675 2020-11-24. 我正在尝试搜索此文件并分配XS8456675FileName变量。XS8456675前面总是有两个字母,后面是数字。它也隐藏在Word spacespace Date之间。

这是我的代码:

Sub findfilename()

    Dim FileInFolder As Object
    Dim objFiles As Object
    Dim fso As Object
    Dim strFolderPath As String
    Dim FileName As String
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    strFolderPath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
    Set objFiles = fso.GetFolder(strFolderPath & "\Archive\").Files

        For Each FileInFolder In objFiles
    
            If InStr(fso.GetBaseName(FileInFolder), "XS") > 0 Then
                MsgBox ("found")
            End If
    
        Next FileInFolder

End Sub

代码似乎在文件夹中查找文件。如何XS8456675File XS8456675 2020-11-24找到的文件中获取?

标签: vba

解决方案


请使用下面的代码:

声明两个新变量

Dim strSplit As Variant, strNeeded As String

For Each FeleInFolder...然后用下一个替换现有的:

  For Each FileInFolder In objFiles
     strSplit = Split(fso.GetBaseName(FileInFolder), " ")
     strNeeded = strSplit(1)
     MsgBox strNeeded 
  Next FileInFolder

推荐阅读