首页 > 解决方案 > 快速打开文件夹中所有文件、刷新所有文件、另存为所有文件的方法

问题描述

我有 2 个不同的文件夹位置一个模板文件夹,其中包含 40 个模板 excel 文件,其中包含预制公式。这些文件保存为 template_2D、template_3D 等,但是 30 个文件取决于一个名为“srtData.xslx”的文件和其他 10 个从 30 个打开的数据中提取数据。

然后我想刷新所有文件(因为所有文件都相互依赖),然后我想将所有 40 个文件保存在不同的位置,并在没有模板的情况下使用它们的名称。例如。2D,3D ...但在不同的位置,然后关闭所有模板文件以及这些保存的文件。所以模板文件不会改变,所发生的只是刷新版本已保存在不同的文件夹位置。

我对 VBA 非常基础,所以很简单。

到目前为止,我只有

 Sub OpenAllWorkbooks()

Dim fldrpath As String

fldrpath = "R:\Sam\"

'Step 1:Declare your variables
Dim MyFiles As String
 'Step 2: Specify a target folder/directory, you may change it.
MyFiles = Dir(fldrpath & "*.xlsx")
Do While MyFiles <> ""
'Step 3: Open Workbooks one by one
Workbooks.Open fldrpath & MyFiles

'Step 4: Next File in the folder/Directory
MyFiles = Dir
Loop

End Sub

但是我认为这样做我不知道如何将所有内容保存在不同的文件夹中

标签: excelvba

解决方案


这是我使用的解决方案,遵循上面的评论:

Sub OpenAllWorkbooks()

Dim wb as Workbook
Dim fldrpath As String

fldrpath = "R:\Sam\"

'Step 1:Declare your variables
Dim MyFiles As String
 'Step 2: Specify a target folder/directory, you may change it.
MyFiles = Dir(fldrpath & "*.xlsx")
Do While MyFiles <> ""
'Step 3: Open Workbooks one by one
Set wb = Workbooks.Open (fldrpath & MyFiles)
wb.SaveAs path,fileformat

'Step 4: Next File in the folder/Directory
MyFiles = Dir
Loop

End Sub

推荐阅读