首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >快速打开文件夹中的所有文件,刷新所有文件,另存为所有文件

快速打开文件夹中的所有文件,刷新所有文件,另存为所有文件
EN

Stack Overflow用户
提问于 2019-04-04 21:25:27
回答 1查看 747关注 0票数 0

我有两个不同的文件夹位置一个模板文件夹,其中包含40个模板excel文件,其中包含预制的公式。这些文件被保存为template_2D,template_3D等,但是30个文件依赖于一个将被打开的名为'srtData.xslx‘的文件,另外10个文件从30个打开的文件中提取数据。

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

我是非常基础的VBA,所以赤裸裸的。

到目前为止,我只知道

代码语言:javascript
运行
复制
 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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-27 16:04:12

这是我使用的解决方案,下面是上面的注释:

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55517140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档