我的问题之前的背景: 我们有一张 Excel 表格,我们每天早上在会议时打开并修改。然后,我们将其保存为 pdf 文件,并在 Excel 旁边的标题中注明当天的名称。 所有这一切我都可以使用这个自动生成命令按钮:
Sub SaveActiveWorkbookAsPDF()
Dim saveLocation As String
saveLocation = ThisWorkbook.Path & "" & "Daily file_w" & Format(Date, "ww") & _
"_" & Format(Date, "dddd")
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=saveLocation
End Sub
这就是我遇到的问题:然后我们将此 pdf 文件复制到不同的文件夹(对于其他部门),我也想将其自动化到按钮。 我的问题是,我们每周都会在不同的文件夹中保存这些 Excel,标题为“w02”等等,并带有数字。替代位置与每周的方式相同,但文件夹标题的格式类似于“2502”(- 如 2025 年第二周)。这些文件夹是预先创建并命名的,所以我对此没有回旋余地。
文件名中包含一个自动的周数,并且在工作表中还有一个单元格指示周数。我可以使用这些以便 VBA 找到文件夹吗? 谢谢!
编辑: 原始路径(Excel 也在其中)I:-05\Data\Daily�5\w2(基于本周的数字)另一个路径(到我们复制 pdf 的位置)I:-80-PUBLIC\Daily Report �5�2(同样,最后一个数字基于本周) (对不起,火车失事的帖子,试图整理我的想法哈哈)
也许像这样:
Sub SaveActiveWorkbookAsPDF()
Dim saveLocation As String, saveName As String, weekFolder As String
saveLocation = ThisWorkbook.Path & "\"
saveName = "Daily file_w" & Format(Date, "ww") & "_" & Format(Date, "dddd")
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=saveLocation & saveName
weekFolder = "I:\04-80-PUBLIC\Daily Report\" & Year(Date) & _
"\" & Format(Date, "yy") & Format(Format(Date, "ww"), "00")
FileCopy saveLocation & saveName, weekFolder & saveName
End Sub