BITTE helfen Sie uns HEUTE mit einer SPENDE
Das LibreOffice Forum braucht jetzt Ihre Hilfe!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst]kompletten Ordner kopieren

Alles zur Programmierung im LibreOffice.
Antworten
DavidG
Beiträge: 195
Registriert: Do 22. Mär 2018, 21:41

[gelöst]kompletten Ordner kopieren

Beitrag von DavidG » Sa 9. Jun 2018, 14:45

Hallo,

wie kann man unter Windows mit einem Makro einen
kompletten Ordner und dessen gesamten Inhalt kopieren.

Gruß
David
Zuletzt geändert von DavidG am So 10. Jun 2018, 21:12, insgesamt 1-mal geändert.
Gruß

David
___________________
WIN 10 PRO
LO 7.4.5.1 (x64)

nikki
Beiträge: 1026
Registriert: Sa 18. Mär 2017, 22:25
Kontaktdaten:

Re: kompletten Ordner kopieren

Beitrag von nikki » Sa 9. Jun 2018, 17:28

Hallo David,
ich habe es zwar nicht getestet, aber ich denke über Shell (StarBasic) und XCopy (Windows).
Gruß

---------------------------------------------------
Win.10 Prof. 64-bit, LO 6.3.4 (x64), LO 6.2.6 Portable, AOO 4.1.7

DavidG
Beiträge: 195
Registriert: Do 22. Mär 2018, 21:41

Re: kompletten Ordner kopieren

Beitrag von DavidG » Sa 9. Jun 2018, 19:01

Hallo Nikki,

vielen Dank für Deine Antwort.

Ich hatte gehofft, dass es mittels der LO-API geht.
Nur fehlt mir das passende Interface und weiß auch nicht wie ich es anwenden könnte.
z.B.
ucb Directory Reference
und
FolderList.idl File Reference

Nutze bisher ein Batch-FIle und kopiere per xcopy über die CMD-Shell.
Würde mir aber gern ein komfortables GUI programmieren.

Leider erhalte ich bei Verwendung des "Windows-FSO" einen Runtime-Error "com.sun.star.script.xInvocation2".
Dieses allerdings nur unter LO; Bei AOO funktioniert der Code :roll:

Code: Alles auswählen

   ' Create File system object
    Set oWSH = CreateObject("Wscript.Shell")
    Set oFSO = CreateObject("Scripting.FileSystemObject")
' mri oFSO
Gruß
David
Gruß

David
___________________
WIN 10 PRO
LO 7.4.5.1 (x64)

balu
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: kompletten Ordner kopieren

Beitrag von balu » So 10. Jun 2018, 17:05

Hallo David!

Also bei mir funktioniert folgender Einzeiler in diesen Officen: OO.o 3.2.1 und AOO 4.1.3 und in LO 5.1.5.2.

Code: Alles auswählen

Sub ExampleFilecopy
Filecopy "C:\TEST\OberOrdner", "C:\TEST\Anderer_Ordner"
end sub
Es wird alles was sich im Ordner *OberOrdner* befindet, inklusive Unterordner, in den *Anderer_Ordner* kopiert.

Einfach mal selber testen ;-)


Nur zur Sicherheit, zitiere ich folgenden Hilfetext.
F1 Hilfe hat geschrieben: Mit der FileCopy-Anweisung können nur Dateien kopiert werden, die zum Zeitpunkt des Kopierens nicht geöffnet sind.

Viel Spaß :D



Gruß
balu

DavidG
Beiträge: 195
Registriert: Do 22. Mär 2018, 21:41

[gelöst]kompletten Ordner kopieren

Beitrag von DavidG » So 10. Jun 2018, 21:11

Hallo Balu,

Du bist der Beste :D

Wie kommt man darauf, das Filecopy, auch Ordner,
samt Unterordner und die Dateien kopiert.
Habe dieses zwar gelesen:
Files_and_Directories_(Runtime_Library)
aber ich fand kein Directory-Copy.
nur:
Copying, Renaming, Deleting and Checking the Existence of Files
The following call creates a copy of the Source file under the name of Destination:
--> FileCopy(Source, Destination)
With the help of the following function you can rename the OldName file with NewName. The As keyword syntax, and the fact that a comma is not used, goes back to the roots of the Basic language.
Was es nicht alles gibt...

Vielen Dank.

Gruß
David
Gruß

David
___________________
WIN 10 PRO
LO 7.4.5.1 (x64)

balu
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: [gelöst]kompletten Ordner kopieren

Beitrag von balu » So 10. Jun 2018, 23:25

Hallo David.
Du bist der Beste :D
Danke schön. :mrgreen:

Wie kommt man darauf, das Filecopy, auch Ordner,
samt Unterordner und die Dateien kopiert.
Ganz ehrlich gesagt: Habs halt auf die schnelle vorm posten selber getestet.

Obwohl das auch im Standardwerk "OpenOffice.org Macros explained" von Andrew Pitonyak in englisch, und in der deutschen Übersetzung von Volker Lenhardt "BASIC-Makros für OpenOffice und LibreOffice" drin steht.
Der Link zu: "OpenOffice.org Macros explained"

Und zur Übersetzung: "BASIC-Makros für OpenOffice und LibreOffice"
Du suchst einfach nach "Filecopy" in der dementsprechenden PDF-Datei, und schon erfährst Du genaueres.


Noch ein kleiner "fast" Off-Topic tipp.
Mit Filecopy kannst Du auch Dateien ausm Internet auf deine lokale Platte kopieren.
Blos wie ich vor einigen Jahren auf diese Idee gekommen bin, das weiss ich nicht mehr. Aber es war damals, genau so wie heute, genau das richtige für mein Vorhaben. Und es funktioniert auch tadellos. Jedoch muss man halt schon ein paar Zeilen Programmieren, um das gewünschte zu erreichen.


Ach ja!
Hätte ich jetzt beinahe wieder vergessen! :?
Du musst erstmal testen, ob der Kopiervorgang auch IMMER einwandfrei funktioniert. Es kann nämlich vorkommen, das entweder deutsche Umlaute und/oder aber auch Leerzeichen im Verzeichnis zu Problemen führen kann. Bei meinem einfach gehaltenen "downloader" für Dateien ausm WWW für die Lokale Platte machen die genannten Punkte im Zielverzeichnis Probleme.

Wenn Du dir aber ein kleines Tool strickst um z.B. Verzeichnisse auf deiner Platte zu kopieren, dann würde ich die Ordner nicht nach Windows schreibweise aufnehmen, sondern in der "URL-Notation" bearbeiten. Stichwörter:
ConvertToURL-Funktion [Laufzeit]
ConvertFromURL-Funktion [Laufzeit]



Gruß
balu

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: [gelöst]kompletten Ordner kopieren

Beitrag von Wanderer » So 10. Jun 2018, 23:26

Hallo,
DavidG hat geschrieben:
Sa 9. Jun 2018, 14:45
wie kann man unter Windows mit einem Makro einen
kompletten Ordner und dessen gesamten Inhalt kopieren.
Filecopy ist zwar einfacher, wenn man aber mal selbst an den Dateibaum muß ist
bei Dannenhöfer schon mal eine Ausgangsbasis beschrieben: Dateiliste über Unterordner= GetDirs
http://www.dannenhoefer.de/faqstarbasic/GetDirs.html

MfG, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

DavidG
Beiträge: 195
Registriert: Do 22. Mär 2018, 21:41

Re: [gelöst]kompletten Ordner kopieren

Beitrag von DavidG » Mo 11. Jun 2018, 00:00

Hallo,

bevor ich diese Frage stellte, habe ich umfangreich in diese Richtung recherchiert.
Auch in den Standardwerken OOME, etc., StarOffice von Sun, Dannenhöfer usw.
Habe vieles zum Kopieren von Dateien gefunden, aber komplette Ordner kopieren???

Die Funktion "GetDirs" kannte ich, habe mir hier und da mal eine Liste in Calc erstellt.
Nur wie bringe ich den Array-Inhalt der "Liste()" auf die Festplatte?
Dieser entscheidende Schritt fehlt mir.

Vielen Dank für Eure Tipps!

Gruß
David
Gruß

David
___________________
WIN 10 PRO
LO 7.4.5.1 (x64)

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten