【发布时间】:2019-06-27 16:04:11
【问题描述】:
我有 2 个不同的文件夹位置,一个模板文件夹包含 40 个模板 excel 文件,其中包含预制公式。这些文件保存为 template_2D、template_3D 等,但是 30 个文件依赖于一个名为“srtData”的文件。 xslx' 和其他 10 个从打开的 30 个中提取数据。
然后我想刷新所有文件(因为所有文件都相互依赖),然后我想将所有 40 个文件保存在不同的位置,并在没有模板的情况下使用它们的名称。例如。 2D,3D ...但在不同的位置,然后关闭所有模板文件以及这些保存的文件。所以模板文件不会改变,所发生的只是刷新版本已保存在不同的文件夹位置。
我对 VBA 非常了解,所以对 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
但是我认为这样做我不知道如何将所有内容保存在不同的文件夹中
【问题讨论】:
-
将
Workbooks.Open fldrpath & MyFiles更改为Set wb = Workbooks.Open (fldrpath & MyFiles)然后简单地使用wb.SaveAs path,fileformat其中wb被声明为Dim wb as workbook -
谢谢!但是如何在没有'template_'的情况下将它们保存为同名?
-
wb.saveas replace(path,"template_",""),fileformat 只会删除单词“template_”
-
您可以使用
Mid(FileName,10)获取不带Template_的文件名,或者如果文件名中没有多次出现“Template_”字样,则使用@HarassedDad 建议的Replace. -
啊不可思议!我现在正在测试它并尽快发布解决方案(或错误)