Wie geben Sie einen anderen Datei-Pfad für Excel-import gespeichert
So, das ich verwendet habe doCmd.TransferText
viele Male um einen gespeicherten text-import-Spezifikation, Sie kann leicht gespeichert, der Pfad der Datei zurückgegeben, die von einem Application.FileDialog(msoFileDialogFilePicker)
zu finden, wählen Sie die Datei, die Sie importieren möchten, mit den gespeicherten Spezifikation.
Aber ich habe Schwierigkeiten, einen Weg zu finden, tun Sie das gleiche mit einer excel-Datei, es ist einfach so speichern Sie ein excel-import-Spezifikation, aber mit der DoCmd.TransferSpreadSheet
Methode gibt es keine Möglichkeit, verwendet eine gespeicherte import -, als auch mit doCmd.RunSavedImportExport
hat keine option, um einen Dateipfad anzugeben.
Gibt es eine Arbeit um für diese andere, als mit einem anderen Dateityp (z.B. .csv)
Du musst angemeldet sein, um einen Kommentar abzugeben.
"Gespeicherte Importe" und "Gespeicherte Exporte" in Access gespeichert sind, in
ImportExportSpecification
Objekte, dieCurrentProject.ImportExportSpecifications
Sammlung. Die details einer gespeicherten Excel-import wird in etwa die folgende XML-Code, die ich erstellt, indem Sie einen manuellen import einer Excel-Tabelle und anklicken des "Speichern import steps" - checkbox auf der letzten Seite des import-Assistenten.Den ImportExportSpecification gespeichert wurde, mit dem Namen
Import-xlsxTest
. Nun, wenn ich die Excel-Datei umbenennen von "xlsxTest.xlsx" zu "anotherTest.xlsx" ich kann mit dem folgenden VBA-code zum ändern des Dateinamens in der ImportExportSpecification XML und führen Sie danach den import:Weitere Informationen auf
ImportExportSpecification
Objekte finden Sie unterImportExportSpecification-Objekt (Zugriff)
Sah dies und dachte, ich würde etwas erzählen, ich arbeitete bis vor einer Weile das problem zu lösen. Gibt mehr Kontrolle über das, was Sie ändern können, in die Spezifikation:
Recherchierte ich das gleiche Problem. Die Lösung gepostet von Gerd gab mir eine XML-Auslegung Fehler. Cosmichighway geschrieben dieser Lösung: http://www.utteraccess.com/forum/index.php?showtopic=1981212.
Diese Lösung funktioniert in Access 2010 und Access 2013 und sollte auch in Access 2007.
Ich war die Erzeugung eines eindeutigen Dateinamens pro zu exportieren, so dass ich wieder auf die original Dateinamen Weg, sobald der Prozess abgeschlossen war. WorkHoursTransactions ist ein const. Beispiel:
Stieß ich auch auf diese schöne Spitze, um das Direktfenster verwenden, um den XML-Code anzuzeigen. Wenn Sie eine export-Spezifikation mit dem Namen 'Export-Tabelle1', dann Sie können fügen Sie diese in das Direktfenster anzeigen, die XML:
In meinem Fall
vbCrLf hat nicht funktioniert - aber vbLF nicht!
Ich bin mit Access 2010 (32-bit).
Grüße von Stefan
Hinzufügen @Alberts Antwort, wenn wir den aktuellen Pfad als Konstante, dann, wenn wir den code ausführen der nächsten Zeit (zum Beispiel, der Benutzer entscheidet, zum speichern der excel-Datei in einem anderen Ordner nach einmal), "Ersetzen" - Funktion nicht finden, wird die Suche nach text, der Pfad wurde geändert in den ersten Lauf. Also, um es dynamisch, wir brauchen nur zu schreiben, den aktuellen Pfad zu einem Tisch, wenn es ersetzt wird durch einen neuen Pfad. In der "Ersetzen" - Funktion, die wir nur verweisen auf diesen Wert. Es gibt keine harte Codierung der Datei Pfade.
also das nächste mal ausgeführt wird , wird es bei der Auswahl der richtigen aktuellen Datei zu ersetzen.