如何获取Application.GetSaveAsFilename VBA的动态位置?

时间:2017-08-18 17:30:25

标签: excel vba filepath

我有下面的代码将我的工作簿文件保存为WriteResPassword,但有没有办法从界面中获取当前工作簿的路径 Application.GetSaveAsFilename?现在保存为界面显示文档文件夹,因此需要多5-10次点击才能到达我想要的位置。

    Sub PasswordSave()
       Application.DisplayAlerts = False
       Application.ScreenUpdating = False
       SaveAsName = Application.GetSaveAsFilename(FileFilter:="Excel Files (*.xlsx), *.xlsx")
       ActiveWorkbook.SaveAs Filename:=SaveAsName, FileFormat:= xlNormal, WriteResPassword:="test", ReadOnlyRecommended:=False, CreateBackup:=False
    End Sub

3 个答案:

答案 0 :(得分:1)

对话框的起始目录是CurDir所说的内容,因此您可以在调用对话框之前使用ChDir

ChDir Activeworkbook.Path

ChDir "C:\Users\Public\Desktop"

答案 1 :(得分:0)

Activeworkbook.Path会为您提供一个包含工作簿文件夹位置的字符串。

https://msdn.microsoft.com/en-us/vba/excel-vba/articles/application-path-property-excel

答案 2 :(得分:0)

这将在c:\ windows

打开
Application.GetSaveAsFilename "c:\windows"

所以这是你的答案

Application.GetSaveAsFilename activeworkbook.path