使用VBA将Excel工作表保存在当前目录中

Ndi*_*Dia 16 excel vba excel-vba

我在vba Excel中创建了一个工作表.我想将它保存到当前目录,但不是在绝对路径中,然后,当在其他地方执行时,不会有问题.

有人可以帮忙吗?

Ale*_*x P 16

我不清楚你的情况究竟是什么,但以下内容可能会让你开始.这里的关键是使用ThisWorkbook.Path获取相对文件路径:

Sub SaveToRelativePath()
    Dim relativePath As String
    relativePath = ThisWorkbook.Path & "\" & ActiveWorkbook.Name
    ActiveWorkbook.SaveAs Filename:=relativePath
End Sub
Run Code Online (Sandbox Code Playgroud)


Dic*_*ika 7

VBA有一个CurDir关键字,它将返回存储在Excel中的"当前目录".我不确定影响当前目录的所有事情,但肯定打开或保存工作簿会改变它.

MyWorkbook.SaveAs CurDir & Application.PathSeparator & "MySavedWorkbook.xls"
Run Code Online (Sandbox Code Playgroud)

这假定您要保存的工作表从未保存过,并且您希望在代码中定义文件名.


小智 5

如果省略路径,文件将自动保存在当前目录中。尝试这样的事情:

ActiveWorkbook.SaveAs "Filename.xslx"