2013-06-04 12 views
11
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 

Meine Frage ist, wie der FileDialog standardmäßig zu einem bestimmten Ordner, wenn es zuerst geöffnet wird?Standardisieren eines Ordners für FileDialog in VBA

Vielen Dank im Voraus für jede Hilfe in dieser Angelegenheit

+0

Überprüfen Sie die hier zur Verfügung gestellten out Code: http://stackoverflow.com/questions/9399651/picking-a-folder- using-application-filialialog –

Antwort

31

Fügen Sie den Ordnerpfad (einschließlich der Hinter \) zu InitialFileName. Zum Beispiel macht den Dialog im Home-Verzeichnis des Benutzers zu öffnen:

f.InitialFileName = Environ("USERPROFILE") & "\" 

Wenn Sie vergisst, den nachlauf \, dann das Dialogfeld noch offen in den richtigen Ordnern, aber die Ordnernamen auch erscheint als der standardmäßig ausgewählte Dateiname Dann sucht der Dialog nach einem Unterordner mit dem gleichen Namen, der normalerweise nicht existiert.

+0

Dies ist ein guter Tipp. Ich habe ChDir ausprobiert und es hatte keine Wirkung. – FCastro

+0

Ich denke 'Application.PathSeparator' anstelle von '" \ "' wird besser sein –

-1

Oder vor dem Öffnen des Dialogs, einfach die deault mit Dateiverzeichnis ändern:

Application.Options.DefaultFilePath(wdDocumentsPath) = "your\path\here" 
+1

Dieser Code ist nur gut für die Verwendung mit MS Word, das OP fragt nach MS Access –

Verwandte Themen