GetSaveAsFilename默认文件夹

我在Excel中使用VBA中的GetSaveAsFilename 。 有什么办法给这个默认文件夹打开? 例如,我总是希望它在C:\MyDocuments\Music时候被调用。

FileDialog对象提供了比GetSaveAsFilename (及其兄弟GetOpenFilename )更灵活的方式。 例:

 Dim tuneSaver As FileDialog Set tuneSaver = Application.FileDialog(msoFileDialogSaveAs) With tuneSaver .Title = "Save this tune as..." .InitialFileName = "C:\MyDocuments\Music\" ' Set other properties here... .Show End With 

请注意长度超过256个字符的.InitialFileName将导致运行时错误。

请参阅FileDialog上的VBA帮助 。 它有很多有用的属性,包括例如AllowMultiSelect (尽pipe当然这个在保存时是不相关的)。

GetSaveAsFilename之前使用ChDir

这工作:

 x = Application.GetSaveAsFilename(InitialFileName:="C:\mydocuments\music\", _ fileFilter:="Text Files (*.*), *.*") 

但是,如果你在filespec中有空格,那么它会变得有点棘手。 例如,这个:

 x = Application.GetSaveAsFilename(InitialFileName:="%USERPROFILE%\My Documents\My Music", _ fileFilter:="Text Files (*.*), *.*") 

只能得到我的文档,并认为我的音乐是文件名。 希望这可以帮助。