使用动态路径保存文件

时间:2018-11-23 07:38:57

标签: excel vba

我有保存文件的代码。这里的路径是静态的。

Sub savefile()

Dim strpath As String
Dim fry As String
Dim mth As String
Dim yr As String

yr = Year(Now)
mth = MonthName(Month(Now))
fry = Application.WorksheetFunction.Weekday(Date, 11)

Filename = "D:\Users\Desktop\ docs\" & yr & " " & "Week Of" & " " & mth & " " & fry & ".jpg"

ThisWorkbook.SaveCopyAs (Filename)

End Sub

如何用动态路径替换此静态或硬代码?

3 个答案:

答案 0 :(得分:0)

在下面尝试

Docker

答案 1 :(得分:0)

与年份相同,您可以允许用户将路径的数据输入到字符串形式的变量中,然后使用&将整个路径移至gheter。

示例:

<pre style="background-color: white; ">{{content}}</pre>

如果您希望用户直接输入路径,则可以使用Sub savefile() Dim strpath As String Dim fry As String Dim mth As String Dim yr As String Dim path As String yr = Year(Now) mth = MonthName(Month(Now)) fry = Application.WorksheetFunction.Weekday(Date, 11) Filename = yr & " " & "Week Of" & " " & mth & " " & fry & ".jpg" Path = Application.DefaultFilePath & yr & " " & "Week Of" & " " & mth & " " & fry & ".jpg" Application.Dialogs(xlDialogSaveAs).Show (Filename) ThisWorkbook.SaveCopyAs (Path) End Sub

如果您希望程序将所有文件保存在预定义的路径中,该路径可以根据您所使用的计算机的结构进行更改,则可以使用application.dialogs(xlDialogSaveAs).Show (Filename)来保存到我的情况下的文档中,具体取决于用户已将其设置为默认保存文件路径的位置设置在哪个文件夹上。

注意:默认的保存位置可以更改,默认情况下Excel将在该位置保存文件。

答案 2 :(得分:0)

如果共享相同的网络驱动器,则路径应表示为UNC Path,例如:(\\?\C:\my_dir)。

To find the UNC path,使用cmd.exe(命令提示符)并写出net use。