Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
996to1000
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Ordner mit Unterordnern/Dateien kopieren
06.08.2008 22:40:53
Peter
Hallo Ihr lieben,
hab jetzt intensiv die Recherche gequält oder war es umgekehrt?
Es is relstiv einfach zu beschreiben was ich möchte:
Auf einem Stick habe ich einen Ordner mit Unterordnern/Dateien die ich aus der Excel heraus in einen neu zu bildenden Ordner C:\Test kopieren möchte.
Wie macht man sowas in Office 2007, dass es auch in älteren Versionen funktioniert?
Danke für Euere Impulse
Peter S

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner mit Unterordnern/Dateien kopieren
Ramses
Hallo
Da sollte schon was dabei sein
http://www.google.ch/search?hl=de&q=folder+copy+excel+vba&btnG=Google-Suche&meta=
Aber es reicht auch ein Blick in VBA-Online Hilfe
*******************
CopyFolder-Methode
Beschreibung
Kopiert einen Ordner von einem Ort an einen anderen.
Syntax
Objekt.CopyFolder Quelle, Ziel[, überschreiben]
Die Syntax der CopyFolder-Methode besteht aus folgenden Teilen:
Teil Beschreibung
Objekt Erforderlich. Immer der Name eines FileSystemObject.
Quelle Erforderlich. Zeichenfolge für die Ordnerspezifikation für einen oder mehrere zu kopierende Ordner, die Platzhalterzeichen enthalten kann.
Ziel Erforderlich. Zeichenfolge für das Ziel, an das die Ordner und Unterordner aus Quelle kopiert werden sollen. Platzhalterzeichen sind nicht zulässig.
überschreiben Optional. Boolescher Wert, der angibt, ob vorhandene Ordner überschrieben werden. Wenn er True ist, werden die Ordner überschrieben; ist er False, werden sie nicht überschrieben. Die Voreinstellung ist True.
Anmerkungen
Platzhalterzeichen können nur in der letzten Pfadkomponente des Arguments Quelle verwendet werden. Sie können z.B. folgendes verwenden:
FileSystemObject.CopyFolder "c:\mydocuments\letters\*", "c:\tempfolder\"
Nicht aber:
FileSystemObject.CopyFolder "c:\mydocuments\*\*", "c:\tempfolder\"
Wenn Quelle Platzhalterzeichen enthält oder Ziel mit einem Pfadtrennzeichen (\) endet, wird angenommen, daß Ziel ein vorhandener Ordner ist, in den übereinstimmende Ordner und Unterordner kopiert werden sollen. Andernfalls wird angenommen, daß Ziel der Name eines zu erstellenden Ordners ist. In beiden Fällen können beim Kopieren eines einzelnen Ordners vier Dinge passieren.
Wenn es Ziel nicht gibt, wird der Quellordner und sein gesamter Inhalt kopiert. Dies ist normalerweise der Fall.
Wenn Ziel eine vorhandene Datei ist, kommt es zu einem Fehler.
Wenn es sich bei Ziel um ein Verzeichnis handelt, wird versucht, den Ordner und seinen gesamten Inhalt zu kopieren. Wenn eine in Quelle enthaltene Datei bereits in Ziel vorhanden ist, kommt es zu einem Fehler, wenn überschreiben False ist. Andernfalls wird versucht, die Datei über die vorhandene Datei zu kopieren.
Wenn es sich bei Ziel um ein schreibgeschütztes Verzeichnis handelt, kommt es zu einem Fehler, wenn Sie versuchen, eine vorhandene schreibgeschützte Datei in dieses Verzeichnis zu kopieren und überschreiben False ist.
Es kommt außerdem zu einem Fehler, wenn eine Quelle, die Platzhalterzeichen verwendet, mit keinem der Ordner übereinstimmt.
Die CopyFolder-Methode hält beim ersten aufgetretenen Fehler an. Es wird nicht versucht, Änderungen zurückzusetzen oder aufzuheben, die vor dem Auftreten eines Fehlers durchgeführt wurden.
*************************
Gruss Rainer

Anzeige
AW: Ordner mit Unterordnern/Dateien kopieren
06.08.2008 23:49:17
Peter
Hallo Ramses,
es sollte dann doch wie nachstehend funktionieren?
Option Explicit

Sub Kopieren()
Dim filesystem As Object
Dim name As String
name = "HSVInnSalzach"
Set filesystem = CreateObject("Scripting.FileSystemObject")
filesystem.CopyFolder "E:\Obedience\HSVInnSalzach\*", "C:\Obedience\" & name
Set filesystem = Nothing
End Sub


Sagt aber immer Pfad niocht gefunden? Wo liegt der Fehler
Danke
Peter S

AW: Ordner mit Unterordnern/Dateien kopieren
07.08.2008 07:37:00
Erich
Hallo Peter,
mit
filesystem.CopyFolder "E:\Obedience\HSVInnSalzach\*", "C:\Obedience\" & name
versuchst du, alle Unterordner von E:\Obedience\HSVInnSalzach auf die Festplatte zu kopieren.
Der Zielordner C:\Obedience\" & name, in den diese Unterordner sollen, muss dann schon existieren.
Vermutlich brauchst du keinen Platzhalter. Probier mal
filesystem.CopyFolder "E:\Obedience\HSVInnSalzach", "C:\Obedience\"
Evtl. willst du noch den dritten Parameter (Vorh. Dateien überschreiben) verwenden,
dann musst du ,True oder ,False hinten anhängen.
Die Variable name brauchst du vielleicht nicht mehr.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Ordner mit Unterordnern/Dateien kopieren
07.08.2008 08:10:14
Peter
Hallo Erich G,
zunächst mal vielen Dank für Deine Hilfe.
Sicherlich wäre die feste Adressierung das Einfachste. Jedoch geht es mir um folgendes:
Da meine Applikation von Vereinen genutzt wird und jeder PC ne andere Hardware/Software-Konfiguration besitzt, lese ich per
Sheets("Tabelle1").Range("A1") = Application.Version
Sheets("Tabelle1").Range("A2") = ThisWorkbook.Path
die Office Version und den augenblicklichen Pfad des Sticks bzw der CD aus.
Diese Variablen will ich dann in meine Prozedur einbauen. Meine eigentliche Applikation für die Vereine ist schon fertig, jedoch erlebe ich die abenteuerlichsten Dinge. Mal fehlen die WebComponents, mal ist ne refedit.dll ohne Verweis, mal sind die microsoft forms nicht vorhanden, manche versuchen das mit Open Office und Win 98. Und dann habe ich immer Ärger und man behauptet meine Applikation würde nicht laufen.
Jetzt habe ich die Schna.. voll davon und erstelle ein Tool, das den individuellen PC so vorbereitet, dass alles automatisiert abläuft, bis hin zum Kopieren meiner Ordnerstruktur in den richtigen Pfad und Erstellen einer Verknüpfung auf den Desktop.
Dieses Tool werde ich nach Fertigstellung auch hier auf den Server laden, denke das können etliche Leute gebrauchen.
Freue mich auf weitere Tips
Dank
Peter S

Anzeige
AW: Ordner mit Unterordnern/Dateien kopieren
07.08.2008 08:31:00
Peter
Hallo Erich G,
im Moment sieht mein Code folgendermassen aus und funktioniert auch bereits gut.

Sub Kopieren()
Dim filesystem As Object
Dim PathE As String
MkDir "C:\Obedience"
MkDir "C:\Obedience\HSVInnSalzach"
PathE = Sheets("Tabelle1").Range("A2")
Set filesystem = CreateObject("Scripting.FileSystemObject")
filesystem.CopyFolder PathE, "C:\Obedience\HSVInnSalzach"
Set filesystem = Nothing
End Sub


Dies muss so sein da ja der Quellordner u.U. jedesmal woanders liegt, der Zielordner jedoch immer direkt unterhalb der Root.
Gruß
Peter S

Anzeige
AW: Ordner mit Unterordnern/Dateien kopieren
07.08.2008 08:45:29
ransi
HAllo
Wenn du da etwas variabler mit dem Zielordner sein willst, schau dir mal dies an:
Option Explicit

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
    ByVal DirPath As String) As Long

Public Sub test()
Dim Ziel
Dim Quelle
Dim FSO
Ziel = "C:\Temp\zum Testen\"
Quelle = ThisWorkbook.Path
Set FSO = CreateObject("Scripting.FileSystemObject")
MakeSureDirectoryPathExists Ziel
FSO.CopyFolder Quelle, Ziel
Set FSO = Nothing
End Sub


ransi

Anzeige
AW: Ordner mit Unterordnern/Dateien kopieren
07.08.2008 08:43:00
Erich
Hi Peter,
du bist recht sparsam mit Infos. Weitere Tipps zu geben fällt daher schwer.
Funzt jetzt das Kopieren mit CopyFolder - erst mal mit den festen Verzeichnisnamen?
Du schreibst, dass du ThisWorkbook.Path ausliest. Ist das dann der Ordner, der komplett kopiert werden soll?
Wohin soll der Ordner kopiert werden? Ist der Name des Zielordners abhängig von ThisWorkbook.Path?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: hat sich erledigt
07.08.2008 08:47:00
Erich
Hi Peter,
habe dein letztes Posting gerade erst gesehen.
Grüße von Erich aus Kamp-Lintfort

AW: Ordner mit Unterordnern/Dateien kopieren
07.08.2008 08:48:23
Ramses
Hallo
am elegantesten löst du es wohl so
Option Explicit

Sub test()
    Dim myFSO As Object
    Dim tarMain As String, tarSub As String
    Set myFSO = CreateObject("scripting.Filesystemobject")
    tarMain = Range("A1")
    tarSub = Range("A2")
    If Not myFSO.folderexists(tarMain) Then
        MkDir tarMain
        ElseIf Not myFSO.folderexists(tarSub) Then
        MkDir tarSub
    End If
    With myFSO
        .copyfile ThisWorkbook.Path & "\*.*", tarMain, True
        'Wenn vorhanden
        '.copyfile ThisWorkbook.Path & "\SubFolder\*.*", tarSub, True
    End With
End Sub

Gruss Rainer

Anzeige
AW: Ordner mit Unterordnern/Dateien kopieren
07.08.2008 09:30:00
Peter
Hallo Ramses,
wow, ne super Lösung...
Vielen Dank

300 Forumthreads zu ähnlichen Themen


Guten Morgen zusammen
Aus einer Excelmappe möchte ich per VBA diverse PDFs, die zuvor mit Acrobat erstellt worden sind, zusammen drucken. Hier im Forum habe ich einen Code dazu gefunden, der sich jedoch nur auf eine einzelne Datei und nicht auf alle Dateien des Ordners bezieht. Nachstehend...
Anzeige

Hallo, ich brauche eure Hilfe:
Folgende Beispietabelle:
Merkmal - Text
1 - Text1
3 - Text2
1 - Text3
1 - Text4
2 - Text5
1 - Text6
Ich möchte jetzt für jede Zeile, die ein Merkmal größer als 1 hat danach eine neue Zeile mit gleichem Inhalt einfügen.
Die T...

Hallo zusammen!
Ich schreibe momentan an meiner Diplomarbeit und brauche in dem Zusammenhang unbedingt eure Unterstützung in Sachen VBA-Programmierung.
Ich habe nicht wirklich Ahnung von VBA und bastel jetzt schon seit einer ganzen Weile an meinem Problem herum. Im Forum konnte ich lei...
Anzeige

Hallo,
Ich habe in meiner Adressliste in D:D Straßennamen stehen, und in E:E die Hausnummern. Ich möchte die Hausnummern aber direkt hinter den Straßennamen in die selbe Zelle einfügen.
Da es sehr viele Zeilen sind möchte ich es ungern manuell machen.
Wie würdet Ihr das machen?

Hallo allerseits,
ich suche ein Makro, welches alle xls-Dateien (jede Datei enthält nur ein Arbeitsblatt) zu einer Arbeitsmappe zusammen führt.
Beispiel: Order c:\test enthält 5 xls.-Dateien, diese sollen zu einer Master.xls mit 5 "Reitern" zusammengeführt werden. Cpoy & paste würde...

Hallo zusammen,
ich bin noch neu hier und konnte leider auf das thema von Dieter
"Benutzten Bereich kopieren von Dieter vom 19.10.2009 17:43:03 " keinen Beitrag schreiben, geht irgendwie nicht !
wenn es doch möglich ist da was reinzuschreiben dann würd ich gerne wissen wie ?
M...
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige