2 Stimmen

Datei aus der Zwischenablage in das Dateisystem einfügen.

Wenn der Benutzer eine Datei im Dateisystem in die Zwischenablage kopiert hat, möchte ich, dass der Benutzer zu einer Excel-Tabelle zurückkehrt und auf eine Schaltfläche klickt. Der Code hinter dieser Schaltfläche sollte diese Datei in einem vordefinierten Ordner einfügen.

Ich weiß, dass es durch VBA möglich ist, einen String von/zu der Zwischenablage zu lesen/schreiben. Ist es möglich in VBA, eine kopierte Datei aus der Zwischenablage zu lesen und in einen Ordner zu platzieren (die Datei muss während dieser Operation nicht geöffnet werden)?

4voto

Carl Colijn Punkte 1413

Wenn Sie eine Datei im Explorer in die Zwischenablage kopieren, wird die Datei selbst nicht in die Zwischenablage gelegt (stellen Sie sich vor, was passieren würde, wenn Sie eine Datei von 200 GB kopieren :)). Stattdessen legt der Explorer z.B. den Dateipfad in einem speziellen Zwischenablageformat (d.h. nicht textuell) in die Zwischenablage. Weitere Informationen zu den Formaten finden Sie auf MSDN.

Ich habe nicht eng mit diesen Zwischenablageformaten zusammengearbeitet, aber es scheint, dass Sie in den meisten Fällen nach dem CF_HDROP-Format suchen würden. Sie benötigen ziemlich viel VBA, um die Daten in den Dateipfad umzuwandeln, aber von da an reicht ein einfacher Dateikopie aus, um den Vorgang abzuschließen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X