还记得上次打开的目录吗?

时间:2014-12-17 18:58:16

标签: vba

我正在编写一个Visual Basic应用程序,该应用程序要求用户经常导航到各个目录并在这些位置单独打开文件。有没有办法可以存储这个目录的位置,这样当他们选择File - >打开它不只是转到默认位置而是保留在他们上次打开文件的目录中?

1 个答案:

答案 0 :(得分:2)

使用FileDialog个对象,您有:

1)属性InitialFileName,允许您在文件浏览器中设置要打开的路径; 2)SelectedItems属性,它是所选文件的集合,存储最后一个路径。

所以你可以:

a)声明一个名为Dim lastPath As String的全局变量,并最终为第一次启动提供默认值。

b)编写代码以通过设置初始文件名来打开文件浏览器:

Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
     '...
    .InitialFileName = lastPath
    '...
End With
fd.Show

c)每次用户选择文件时保存lastPath:

With fd
If .Show = -1 Then
    For Each vrtSelectedItem In .SelectedItems
        lastPath = vrtSelectedItem
    Next vrtSelectedItem 
End If
End With

所以,下次你将执行" B" (即您将调用文件浏览器),您将确保初始文件名是用户选择的最后一个文件名。有关入门herehere的更多信息。