lov*_*ubs 6 excel vba excel-vba
我GetSaveAsFilename
在VBA for Excel中使用.有没有办法让这个默认文件夹打开?例如,我总是希望它在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
Run Code Online (Sandbox Code Playgroud)
请注意,.InitialFileName
超过256个字符将导致运行时错误.
请参阅VBA帮助FileDialog
.它有很多有用的属性,包括例如AllowMultiSelect
(虽然不可否认这个在保存时无关紧要).
这有效:
x = Application.GetSaveAsFilename(InitialFileName:="C:\mydocuments\music\", _
fileFilter:="Text Files (*.*), *.*")
Run Code Online (Sandbox Code Playgroud)
但是,如果filespec中有空格,它将变得有些棘手。例如,这:
x = Application.GetSaveAsFilename(InitialFileName:="%USERPROFILE%\My Documents\My Music", _
fileFilter:="Text Files (*.*), *.*")
Run Code Online (Sandbox Code Playgroud)
仅到达“我的文档”,并认为“我的音乐”是文件名。希望这可以帮助。