如何打开 VBA 中具有特定名称的文件夹中的文件?

How to open files in folder with specific name in VBA?

我正在尝试打开文件夹中带有 VBA 的文件,条件是它们的名称与其他文件的名称相似,而其他文件的名称也会被打开。

使用以下代码,我从文件夹 1 打开名称为“1_FirmA”、“1_FrimB”...的文件,然后对这些文件执行一些命令。

我的问题是,只要文件名与循环中 openend 的 folder1 中的文件名相似,我就想打开 folder2 中的文件。 folder2 中的文件名称为“2_FirmA”、“2_FirmB”、...。因此,当我从文件夹 1 打开“1_FirmA”时,我想从文件夹 2 打开“2_FirmA”。有人知道我如何实现这一目标吗?

此致

Sub MySub()
Dim y As Workbook
Dim z As Workbook
Set fso = CreateOnject("Scripting.FileSystemObject")
Set fldr = fso.GetFolder("path\folder1\")
Set fldr2 = fso.GetFolder("path\folder2\")

For Each yFile in fldr.Files
If fso.GetExtensionName(yFile.Name) = "xlsx" then
Set y = Workbooks.Open(yFile.Path)

'Stuff I want to do with workbook y

End if
Next

End Sub()


这行得通吗:

Sub MySub()
Dim y As Workbook
Dim z As Workbook
Set FSO = CreateOnject("Scripting.FileSystemObject")
Set fldr = FSO.GetFolder("path\folder1\")
Set fldr2 = FSO.GetFolder("path\folder2\")

For Each yFile In fldr.Files
If FSO.GetExtensionName(yFile.Name) = "xlsx" Then
Set y = Workbooks.Open(yFile.path)
Set z = Workbooks.Open(fldr2 & "2" & Right(yFile.Name, Len(yFile.Name) - 1))


'Stuff I want to do with workbook y

' stuff you can do with z now

End If
Next

End Sub

只需操作名称并从 2nd 文件夹打开工作簿,鉴于模式与您提到的相同。