如何获得Application.GetSaveAsFilename VBA的dynamic位置?
我有下面的代码来保存我的工作簿文件为WriteResPassword,但有没有办法从Application.GetSaveAsFilename接口中获取当前工作簿的path? 现在保存为界面显示文档文件夹,所以它需要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
对话框的起始目录是CurDir
所说的,所以你可以在调用对话框之前使用ChDir
:
ChDir Activeworkbook.Path
要么
ChDir "C:\Users\Public\Desktop"
Activeworkbook.Path
将为您提供一个string与工作簿的文件夹位置。
https://msdn.microsoft.com/en-us/vba/excel-vba/articles/application-path-property-excel
这在c:\ windows打开
Application.GetSaveAsFilename "c:\windows"
所以这是你的答案
Application.GetSaveAsFilename activeworkbook.path