VBA代码并不总是保存在桌面中

VBA代码并不总是保存在桌面中,vba,excel,Vba,Excel,我有一段代码在大多数情况下会保存到桌面,但有时当我连接到网络时,它会保存到网络文件夹中。我渴望在任何情况下都能将它保存在我的桌面上 Sub Svas() Dim Name As String FilePath = "C:\Users\" & (Environ$("Username")) & "\Desktop": Name = "ETC & ".xlsm" ActiveWorkbook.SaveAs Filename:=Name, FileFormat:=xlOpenX

我有一段代码在大多数情况下会保存到桌面,但有时当我连接到网络时,它会保存到网络文件夹中。我渴望在任何情况下都能将它保存在我的桌面上

Sub Svas()

Dim Name As String
FilePath = "C:\Users\" & (Environ$("Username")) & "\Desktop": Name = "ETC & ".xlsm"
ActiveWorkbook.SaveAs Filename:=Name, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

End Sub

我不是一个擅长编码的人,请举个例子或提供任何帮助。

我认为问题在于您保存文件时,文件名设置为“file”字符串变量,其中不包括文件路径-请尝试以下方法,在其中断开文件路径,fileName和fileExt分成3个独立的部分,以帮助保持其组织性,然后您可以轻松地将它们连接在一起,以创建完整的文件名和路径

Sub Svas()
Dim fName As String
Dim fPath As String
Dim fExt As String
fPath = "C:\Users\" & (Environ$("Username")) & "\Desktop" 'Code for filepath
fName = "ETC" 'Code for filename
fExt = ".xlsm"
ActiveWorkbook.SaveAs fileName:=fPath & "\" & fName & fExt, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
希望这有帮助,
silkcode

在路径中的最后一个文件夹之后,需要在文件名之前添加
\
。 在您的情况下,您需要添加
“\Desktop\”

由于您在代码中使用“ETC”,因此不确定此代码是否需要另一个变量,您可以使用如下代码:

Sub Svas()

Dim FilePath As String

FilePath = "C:\Users\" & Environ$("Username") & "\Desktop\ETC.xlsm"
ActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:=52, CreateBackup:=False

End Sub

看看这个问题:@user3287522你试过上面的答案了吗?这对你有用吗?大家好,非常感谢你们,谢谢你们的评论,我会在回去工作时试试这个,我没有试过,看看这是否会保存在我的桌面上,而不是网络上