Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ordner kopieren

Ordner kopieren
27.04.2008 22:02:26
Rene
Moin zusammen,
Ich bräuchte mal wieder die Hilfe von Euch. Wie der Betreff schon sagt wollte ich gerne den Ordnerinhalt mit den darin befindlichen Unterordner kopieren.Den Quellordner möchte ich festlegen Bsp. C:\Temp\Probe
der Zielordner soll aber vom Benutzer selber ausgewählt werden können. Habe schon dieses gefunden:
Option Explicit
Option Private Module
Public Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
Declare

Function SHGetPathFromIDList Lib "shell32.dll" _
Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare 

Function SHBrowseForFolder Lib "shell32.dll" _
Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long


Sub DirAuswahl()
Dim sMsg As String, sPath As String
sMsg = "Wählen Sie bitte einen Ordner aus:"
sPath = getdirectory(sMsg)
If sPath  "" Then MsgBox sPath
End Sub



Function getdirectory(Optional msg) As String
Dim bInfo As BROWSEINFO
Dim Path As String
Dim r As Long, x As Long, pos As Integer
bInfo.pidlRoot = 0&
If IsMissing(msg) Then
bInfo.lpszTitle = "Wählen Sie bitte einen Ordner aus."
Else
bInfo.lpszTitle = msg
End If
bInfo.ulFlags = &H1
x = SHBrowseForFolder(bInfo)
Path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal Path)
If r Then
pos = InStr(Path, Chr$(0))
getdirectory = Left(Path, pos - 1)
Else
getdirectory = ""
End If
End Function


aber ich weis leider nicht wie ich jetzt mein Quellordner hier mit reinbekommen soll.
Wäre über jede Hilfe sehr dankbar.
Gruß Rene

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner kopieren
27.04.2008 22:20:00
Original
Hi,
schau dir mal die Hilfe zum FileDialog an, da ist alles, was du brauchst.
Das Kopieren geht am einfachsten mit FSO:

Sub Ordner_kopieren()
Const Ueberschreiben_falls_vorhanden As Boolean = True
Const Quelle As String = "c:\DeinOrdner"
Const Ziel As String = "Der_mit_dem_Filedialog_gewählte_Ordner" & "\"
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder Quelle, Ziel, Ueberschreiben_falls_vorhanden
End Sub


mfg Kurt

AW: Ordner kopieren
27.04.2008 22:26:00
Rene
Hallo Kurt,
Danke die für deine Antwort werde es mal testen.
Gruß Rene

Anzeige
AW: Ordner kopieren
27.04.2008 22:51:28
Rene
Hallo Kurt,
Komme leider nicht weiter muss bei der Const Ziel as String = "Der Sub rein den ich bei FileDialog " finde?
gruß Rene

AW: Ordner kopieren
28.04.2008 03:41:00
Rene
Moin zusammen,
Könnte sich jemand bitte doch noch mal mein Problem ansehen ich komme da leider doch nicht weiter.
Vielen Dank im voraus für die Hilfe
mfg Rene

AW: Ordner kopieren
28.04.2008 09:25:00
Rudi
Hallo, versuchs mal so:

Sub Ordner_kopieren()
Const Ueberschreiben_falls_vorhanden As Boolean = True
Const strMsgQuelle As String = "Bitte den Quellordner wählen"
Const strMsgZiel As String = "Bitte den Zielordner wählen"
Dim Quelle As String, Ziel As String
Quelle = getdirectory(strMsgQuelle) & "\"
Ziel = getdirectory(strMsgZiel) & "\"
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder Quelle, Ziel, Ueberschreiben_falls_vorhanden
End Sub


Anzeige
AW: Ordner kopieren
28.04.2008 09:52:00
Rene
Hallo Rudi,
Danke für deine Mühe habe es probiert bekomme aber "mehrdeutiger Name getdirectory" bei Quelle.
Weißt du vielleicht warum?
gruß Rene

AW: Ordner kopieren
28.04.2008 10:19:00
Rudi
Hallo,
du hast die Funktion mehrfach in deinem Projekt.
Gruß
Rudi

AW: Ordner kopieren
28.04.2008 10:36:00
Rene
Hallo Rudi,
Jo ich hatte noch in einem Modul das drin, habe nun es so hinbekommen und es klappt.

Sub Ordner_kopieren()
'Const Ueberschreiben_falls_vorhanden As Boolean = True
Const strMsgQuelle As String = "C:\Temp\Test"
Const strMsgZiel As String = "Bitte den Zielordner wählen"
Dim Quelle As String, Ziel As String
Quelle = "C:\Temp\Test"
Ziel = getdirectory(strMsgZiel) & "\"
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder Quelle, Ziel 'Ueberschreiben_falls_vorhanden
End Sub


Ich danke nochmal für die Hilfe
mfg
Rene

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige