Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
524to528
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
524to528
524to528
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ordner anlegen und Dateien kopieren

Ordner anlegen und Dateien kopieren
28.11.2004 11:08:30
Rene
Moin wieder zusammen,
Hatte hier schon zweimal mein Problem angegeben, aber leider keine Hilfe bekommen es war aber vielleicht nicht verständlich rübergekommen Probiere es hiermit noch einmal.
So sollte der Pfad aussehen:
C:\Temp\1
C:\Temp\2
.....
Ich wollte in den 1.Unterordner eine Datei von C:\Temp\ kopieren wenn die Datei in dem 1. Ordner schon vorhanden ist müßte ein 2 Unterordner erstellt werden und das immer so weiter. Die Unterordner sollen aber erst erstellt werden wenn mann die Datei kopieren müßte. Dadurch kennt mann vorher noch nicht die fortlaufende Nummer denn ich wollte keine 50 ordner(als Beispiel) schon von Anfang an haben.
Ich würde denken das das alles über eine Schleife laufen muß aber da ich erst mit VBA angefangen habe bekomme ich das leider nicht hin wäre sehr dankbar über Eure Hilfe.
mfg rene

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner anlegen und Dateien kopieren
28.11.2004 11:27:31
Josef
Hallo Rene!
Schreib diesen Code in ein allgemeines Modul.
Option Explicit
Public Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal Pfad As String) As Long
Public Declare Function CopyFile Lib "kernel32.dll" Alias "CopyFileA" ( _
ByVal lpExistingFileName As String, _
ByVal lpNewFileName As String, _
ByVal bFailIfExists As Long) As Long


Public Function FileExist(ByVal Dateiname As String) As Boolean
On Error GoTo errorhandler
If Dateiname = "" Then GoTo errorhandler
FileExist = Dir$(Dateiname) <> ""
Exit Function
errorhandler:
FileExist = False
Resume Next
End Function

Private Sub Pfad_anlegen(strPath As String)
MakeSureDirectoryPathExists strPath
End Sub

Sub anlegen()
Dim i As Integer
Dim myPath As String
Dim myFile As String
myPath = "C:\Temp\"
myFile = "test.xls"
For i = 1 To 50
If FileExist(myPath & i & "\" & myFile) = False Then
Pfad_anlegen myPath & i & "\"
CopyFile myPath & myFile, myPath & i & "\" & myFile, 0
Exit Sub
End If
Next
End Sub

Gruß Sepp
Anzeige
AW: Ordner anlegen und Dateien kopieren
28.11.2004 11:41:07
Rene
Moin Sepp,
Ich danke Dir erst mal für Deine superschnelle Antwort habe es auch gleich probiert und es geht auch fast prima ist es nun noch möglich die Datei automatisch in die Ordner zu kopieren? Ich hoffe ich nerver nicht zu sehr.
mfg Rene
AW: Ordner anlegen und Dateien kopieren
28.11.2004 11:57:02
Josef
Hallo Rene!
Auf welchen Pfad liegt den die Datei?
Im Beispiel wird davon ausgegangen, das sie auf "C:\Temp" liegt!
Gruß Sepp
AW: Ordner anlegen und Dateien kopieren
28.11.2004 12:07:17
Rene
Hi Sepp!
Ich muß mich ganz doll entschuldigen sie lag auf "C:\" habe sie nach "C:\Temp" verschoben und es klappt prima. Wie würde denn das ganze aussehen wenn ich das über einen CommandButton auslösen möchte?
gruß rene
Anzeige
AW: Ordner anlegen und Dateien kopieren
28.11.2004 12:11:08
Josef
Hallo Rene!
CommandButto Einfügen &gt Code anzeigen &gt
Private Sub CommandButton1_Click() anlegen End Sub
Oder Schaltfläche aus Formular Einfügen &gt Rechtsklick &gt Makro zuweisen
&gt "anlegen" auswählen &gt OK
Gruß Sepp
AW: Ordner anlegen und Dateien kopieren
28.11.2004 12:21:35
Rene
Hi Sepp,
Was müßte bei dem CmdButton rein? Wenn ich dieses nehme:

Private Sub CommandButton1_Click()
Dim i As Integer
Dim myPath As String
Dim myFile As String
myPath = "C:\Temp\"
myFile = "test.xls"
For i = 1 To 50
If FileExist(myPath & i & "\" & myFile) = False Then
Pfad_anlegen myPath & i & "\"
CopyFile myPath & myFile, myPath & i & "\" & myFile, 0
Exit Sub
End If
Next
End Sub

bekomme ich Fehler beim komplieren Sub oder Funktion nicht def.
Oder muß der ganze Code von dir da rein?
mfg Rene
Anzeige
AW: Ordner anlegen und Dateien kopieren
28.11.2004 12:25:00
Josef
Hallo Rene!
Mein Code muss in einem allgemeinen Modul stehen!

Private Sub CommandButton1_Click()
Steht im Modul der Tabelle.
Darum:

Private Sub CommandButton1_Click()
anlegen
End Sub

und mein gesamter Code im allgemeinen Modul!
Gruß Sepp
AW: Ordner anlegen und Dateien kopieren
28.11.2004 12:33:18
Rene
Hallo Sepp,
Jetzt hab ich das auch verstanden und es klappt prima.Ich danke dir für deine Hilfe.Wenn ich zwei dateien habe braucht man dann nur den code erweitern?
rene
AW: Ordner anlegen und Dateien kopieren
28.11.2004 12:54:52
Josef
Hallo Rene!
Immer beide Dateien in das selbe Verzeichnis?
Sind in den Bestehenden Verzeichnisen beide Dateien vorhanden?
Gruß Sepp
Anzeige
AW: Ordner anlegen und Dateien kopieren
28.11.2004 13:00:26
Rene
Hallo Sepp,
Sorry mußte eben erst mal Mittag essen.Beide Dateien sollen in das selbe Verzeichnis. Die Dateien sind aber unterschiedlich einmal im Ordner C:\Temp mit der Endung txt. und einmal die Active Excel Tabelle. Sind da so große Unterschiede?
Rene
AW: Ordner anlegen und Dateien kopieren
28.11.2004 13:27:43
Josef
Hallo Rene!
Die aktive Datei muss gespeichert sein!

Sub anlegen()
Dim i As Integer
Dim myPath As String
Dim myFile As String
Dim myFile2 As String
myPath = "C:\Temp\"
myFile = "test.txt" 'Name anpassen
myFile2 = ActiveWorkbook.FullName 'Achtung! Datei muss gespeichert sein
For i = 1 To 50
If FileExist(myPath & i & "\" & myFile) = False Then
Pfad_anlegen myPath & i & "\"
CopyFile myPath & myFile, myPath & i & "\" & myFile, 0
CopyFile myFile2, myPath & i & Right(myFile2, _
InStr(1, StrReverse(myFile2), "\")), 0
Exit Sub
End If
Next
End Sub

Gruß Sepp
Anzeige
AW: Ordner anlegen und Dateien kopieren
28.11.2004 13:51:04
Rene
Hallo Sepp,
Nehme an das ich dann die Excel Tabelle erst über ein anderes Macro speichern muß und dann das "anlegen" ausführe. Denn die Tabelle sollte eigentlich offen bleiben. Das Würde doch auch gehen oder?
Gruß Rene
AW: Ordner anlegen und Dateien kopieren
28.11.2004 16:34:19
Josef
Hallo Rene!
Die Tabelle kann ruhig geöffnet sein, sie muss nur mindestens einmal
gespeichert worden sein, damit der Pfad zur Datei existiert!
Weil du eine Kopie der datei speichern willst, solltest du das
speichern vieleicht direkt in das Makro einbauen, weil du sonst
vieleicht die aktuellen Änderungen die du in der Datei
gemacht hast, nicht in der Kopie hast.
Dazu brauchst du nur vor
" myFile2 = ActiveWorkbook.FullName "
" ActiveWorkbook.Save "
schreiben!
Gruß Sepp
Anzeige
AW: Ordner anlegen und Dateien kopieren
28.11.2004 18:20:07
Rene
Hallo Sepp,
Ich danke Dir für deine Hilfe werde mich heute mal noch weiter mit dem Macro befassen, aber ich werde bestimmt noch mehr Fragen haben ich hoffe das du mir dann auch weiter helfen kannst.
Gruß aus dem Schaumburger Land
sagt Rene

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige