По умолчанию папка для FileDialog в VBA
Private Sub Command93_Click()
Dim f As Object
Dim strFile As String
Dim strFolder As String
Dim varItem As Variant
Dim P As String
Dim DeleteEverything As String
DoCmd.SetWarnings False
DeleteEverything = "DELETE * FROM [TABLE]"
DoCmd.RunSQL DeleteEverything
Set f = Application.FileDialog(3)
f.AllowMultiSelect = False
If f.Show Then
For Each varItem In f.SelectedItems
strFile = Dir(varItem)
strFolder = Left(varItem, Len(varItem) - Len(strFile))
P = strFolder & strFile
Next
End If
Set f = Nothing
DoCmd.TransferText acImportFixed, "[IMPORT SPECIFICATION]", "[TABLE]", P, False
End Sub
Как сделать FileDialog по умолчанию для конкретной папки, когда она изначально открывается?
Ответы
Ответ 1
Добавьте путь к папке (включая конечный \
) в InitialFileName
. Например, чтобы открыть диалоговое окно в домашнем каталоге пользователя, выполните следующие действия:
f.InitialFileName = Environ("USERPROFILE") & "\"
Если вы забудете трейлинг \
,
то диалоговое окно все равно будет открыто в правильной папке,
но имя папки также будет отображаться как выбранное по умолчанию имя файла.
Затем диалог будет искать подпапку с тем же именем, которая обычно не существует.
Ответ 2
Или, прежде чем открывать диалоговое окно, просто измените каталог файлов отказов с помощью:
Application.Options.DefaultFilePath(wdDocumentsPath) = "your\path\here"