Excel - Kann eine Drag & Drop-Funktion erstellt werden, um Dateien direkt in einem Ordner zu speichern?

496
Sebastian

Ich arbeite an einem EDMS-System, das in Excel erstellt werden soll. Könnte jemand erklären, ob es möglich ist, Dateien per Drag & Drop direkt in den Ordnerpfad DURCH Excel zu ziehen? Anstatt ständig auf die Ordner zuzugreifen, könnten meine Projektmanager von einer solchen Funktion wirklich profitieren.

Viele Grüße, Sebastian

0
Ja, Excel VBA kann Ihnen das Ziehen der Dateiformat-Baumansicht in den Ordner erleichtern. Rajesh S vor 6 Jahren 0
Wissen Sie, wie das geht? Es wäre sehr dankbar! Im Moment habe ich eine Abfrage aus einem Ordner erstellt, der sich auf einem freigegebenen Netzlaufwerk befindet und alle dort befindlichen Dateien anzeigt. Es könnte wirklich cool sein, wenn Sie Dateien direkt in diese verschiedenen Ordner durch Excel ziehen können, ohne manuell auf sie zugreifen zu müssen. Sebastian vor 6 Jahren 0
Gib mir etwas Zeit, um den verfügbaren VBA-Code zu testen. Bald werde ich zum Post zurückkehren. ☺ Rajesh S vor 6 Jahren 0
Ich habe den VBA-Code vorbereitet und funktioniert ordnungsgemäß. Dadurch können Sie bestimmte Dateien von einem Ordner in einen anderen verschieben, anstatt sie zu löschen. Wird dies für dich funktionieren, bestätige es einfach, damit ich es hier posten kann !! ☺ Rajesh S vor 6 Jahren 0
Klar, lass es mich versuchen! :-) Sebastian vor 6 Jahren 0
Überprüfen Sie den Code, den ich gerade gepostet habe, nachdem ich ihn erfolgreich getestet habe. ☺ Rajesh S vor 6 Jahren 0

1 Antwort auf die Frage

0
Rajesh S
Sub MoveFiles()  Dim xFd As FileDialog Dim xTFile As String Dim xExtArr As Variant Dim xExt As Variant Dim xSPath As String Dim xDPath As String Dim xSFile As String Dim xCount As Long  Set xFd = Application.FileDialog(msoFileDialogFolderPicker) xFd.Title = "Please Select Original Folder:"  If xFd.Show = -1 Then xSPath = xFd.SelectedItems(1) Else Exit Sub End If  If Right(xSPath, 1) <> "\" Then xSPath = xSPath + "\" xFd.Title = "Please Select Destination folder:"  If xFd.Show = -1 Then xDPath = xFd.SelectedItems(1) Else Exit Sub End If  If Right(xDPath, 1) <> "\" Then xDPath = xDPath + "\" xExtArr = Array("*.xlsm*", "*.Docx")  For Each xExt In xExtArr xTFile = Dir(xSPath & xExt)  Do While xTFile <> "" xSFile = xSPath & xTFile FileCopy xSFile, xDPath & xTFile Kill xSFile xTFile = Dir xCount = xCount + 1 Loop Next MsgBox "Total number of moved files is: " & xCount, vbInformation, "Move File(S)" End Sub 

Wie es funktioniert:

  • Kopieren Sie diesen Code als Standardmodul.
  • Führen Sie das Makro aus.
  • Es öffnet den Explorer und fordert Sie auf, den Originalordner (Quellordner) auszuwählen.
  • Wählen Sie den Ordner und drücken Sie OK.
  • Sie werden erneut aufgefordert, den Zielordner auszuwählen.
  • Drücken Sie OK, bald erhalten Sie ein Nachrichtenfeld mit der Anzahl der kopierten Dateien.

Hinweis:

  • Diese Zeile kann bearbeitet Array("*.xlsm*", "*.Docx")werden. Sie können sie nach File extensionsBedarf durch andere ersetzen .