Как мне задать путь к папке обзора для самого последнего используемого каталога при запуске макроса? - PullRequest
0 голосов
/ 01 июля 2019

Я хотел бы иметь возможность получить самый последний каталог, для которого я сохранил свои вложения электронной почты. Я постоянно сохраняю вложения, и мне неудобно просматривать все мои каталоги в диалоговом окне просмотра папок, и я хотел бы просто открыть его для самого последнего каталога, который я сохранил до этого.

Function BrowseForFolder(Optional OpenAt As Variant) As Variant
Dim ShellApp As Object
    Set ShellApp = CreateObject("Shell.Application"). _
                   BrowseForFolder(0, "Please choose a folder", 0, OpenAt)

    On Error Resume Next
    BrowseForFolder = ShellApp.self.Path
    On Error GoTo 0

    Set ShellApp = Nothing
    Select Case Mid(BrowseForFolder, 2, 1)
        Case Is = ":"
            If Left(BrowseForFolder, 1) = ":" Then GoTo Invalid
        Case Is = "\"
            If Not Left(BrowseForFolder, 1) = "\" Then GoTo Invalid
        Case Else
            GoTo Invalid
    End Select
    Exit Function

Invalid:
    BrowseForFolder = False
End Function

Я бы хотел иметь возможность щелкнуть макрос и указать в диалоговом окне обзора самый последний использованный каталог.

1 Ответ

0 голосов
/ 17 июля 2019

Вам необходимо использовать метод Shell.Explore , чтобы открыть указанную папку в окне проводника Windows. Параметр может быть строкой, которая указывает путь к папке, или одним из значений ShellSpecialFolderConstants.

  ShellApp.Explore(folder_path)
...