Hallo Zusammen,
ich habe ein kleines Problem mit dem Kopieren von Datien von einem bestimmten Verzeichnis in ein anderes Verzeichnis.
Habe auch das Beipiel von VB.FUN mit eingebaut.
Leider will es nicht so wie es haben möchte.
Programmbeschreibung:
Ic wähle zuerst im Com Fenster z.B. v2 aus.
Hier ist v2 zwei fest mit einem Laufwerk bestimmt.
Dann schreibe ich in Nummer eingeben, die Nummer die ich brauche,
gehe dann auf listen, dann zeigt er mir auch die ganzen Dateien im ersten FileListBox in diesem Verzeichnis auf.
Und nun wenn ich auf Kopieren drücke, soll er mir ein festen Pfad, die ich zur Test C:\TEMP festgelegt habe, die markierten Dateien dorthin kopieren. Er bringt auch eine Meldung, das er die Dateien kopiert hat, aber in diesem Verzeichnis ist leider nicht.
Und im zweiten Filelistbox soll er mir die Dateien im C:\Temp Verzeichnis auflisten, damit ich dann mit ÖFFNEN diese Datei aufmachen kann.
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
As String, ByVal lpFile As String, ByVal lpParameters _
As String, ByVal lpDirectory As String, ByVal nShowCmd _
As Long) As Long
Private Sub cmdSchließen_Click()
End
End Sub
Private Sub Form_Load()
lblFehler.Caption = "Bitte Anvil - Archiv von TK auswählen"
Com01.AddItem "v2"
Com01.AddItem "v4"
Com01.AddItem "v5"
Com01.AddItem "v6"
End Sub
Private Sub Form_Unload(Cancel As Integer) ' Ende
Cancel = True
Me.Hide
End Sub
Private Sub Com01_LostFocus() 'Wenn das 1. Eingabefeld verlassen wird ...
lblFehler.Caption = ""
If Com01.Text <> "" Then
Com01.Text = Com01.Text
Select Case Com01.Text
Case "v2"
filDateiAuswahl.Path = "\\nnitfs02\anvil_arc\v2\"
Case "v4"
filDateiAuswahl.Path = "\\nnitfs02\anvil_arc\v4\"
Case "v5"
filDateiAuswahl.Path = "\\nnitfs02\anvil_arc\v5\"
Case "v6"
filDateiAuswahl.Path = "\\nnitfs02\anvil_arc\v6\"
Case Else
lblFehler.Caption = "Falsche Eingabe!!"
Com01.SetFocus
Com01.SelStart = 0
Com01.SelLength = Len(Com01.Text)
End Select
Else
lblFehler.Caption = "Fehlende Eingabe!!"
Com01.SetFocus
End If
End Sub
Private Sub cmdÖffnen_Click()
Dim dummy As String
lblFehler.Caption = "Öffne " & filDateiAuswahl.FileName
dummy = ShellExecute(Me.hwnd, "Open", filDateiAuswahl.Path & "\" & filDateiAuswahl.FileName, "", "", 1)
End Sub
Private Sub txtEingabe02_Click()
lblFehler.Caption = "Bitte Dateinamen eingeben * = für Platzhalter"
End Sub
Private Sub cmdCopy_Click()
Dim strCom01 As String
Dim strQuelle As String
Dim strZielPfad As String
Dim strZiel As String
Dim strMeldung As String
Dim intKopiert As Integer
Dim i As Integer
'Fehlerbehandlung aktivieren
'On Error GoTo CopyError
intKopiert = 0
For i = 0 To filDateiAuswahl.ListCount - 1
If filDateiAuswahl.Selected(i) = True Then
'Wenn Markierung vorhanden = kopieren
'Dateiname aus Verzeichnis und Dateianwahl ermitteln
strCom01 = filDateiAuswahl.Path
strQuelle = strCom01 & filDateiAuswahl.List(i)
'Zielverzeichnis und Dateiname zusammensetzen
strZielPfad = "C:\TEMP\"
strZiel = strZielPfad & filDateiAuswahl.List(i)
'Datei kopieren
If strQuelle = strZiel Then
'Fehler: Quell- und Zieldatei sind identisch
strMeldung = "Das Quellverzeichnis ist mit dem " & _
"Zielverzeichnis identisch!" & vbCrLf & _
"Der Kopiervorgang wird abgebrochen!"
MsgBox strMeldung, vbExclamation, "Fehler"
Exit Sub
'kopieren
FileCopy strQuelle, strZiel
'Bezeichnungsfeld updaten
intKopiert = intKopiert + 1
lblKopiert.Caption = Str$(intKopiert)
lblKopiert.Refresh
'Dateilistenfeld updaten
Datei2.Refresh
End If
'Meldung ausgeben
'If Val(lblMarkiert.Caption) = 0 Then
' Fehler: es wurden keine Dateien angewählt
strMeldung = "Wählen Sie zunächst die zu kopierenden "
strMeldung = strMeldung & "Quelldateien aus!"
MsgBox strMeldung, vbExclamation, "Fehler"
' Else
MsgBox "Die Dateien wurden erfolgreich kopiert!", _
vbInformation, "Meldung"
'Bezeichnungsfeld zurücksetzen
lblKopiert.Caption = "0"
End If
Next
lblFehler.Caption = "...."
'Meldung ausgeben
' If Val(lblFehler.Text) = 0 Then
'Fehler: es wurden keine Dateien angewählt
' strMeldung = "Wählen Sie zunächst die zu kopierenden "
' strMeldung = strMeldung & "Quelldateien aus!"
' MsgBox strMeldung, vbExclamation, "Fehler"
'Else
' MsgBox "Die Dateien wurden erfolgreich kopiert!", _
' vbInformation, "Meldung"
'Bezeichnungsfeld zurücksetzen
' lblFehler.Text = "0"
'End If
End Sub
Private Sub cmdSuchen_Click()
lblFehler.Caption = "Datei markieren und Öffnen"
filDateiAuswahl.Visible = True
cmdCopy.Visible = True
cmdSchließen.Visible = True
If txtEingabe02.Text <> "" Then
txtEingabe02.Text = txtEingabe02.Text
filDateiAuswahl.Pattern = txtEingabe02.Text
Else
lblFehler.Caption = "Fehlende Eingabe!!"
txtEingabe02.SetFocus
End If
End Sub
Private Sub filDateiAuswahl_Click()
'Anzahl der markierten Dateien ermitteln
'und in Bezeichnungsfeld ausgeben
Dim intAnzahl As Integer
Dim i As Integer
intAnzahl = 0
For i = 0 To filDateiAuswahl.ListCount - 1
If filDateiAuswahl.Selected(i) = True Then
'Markierung vorhanden
intAnzahl = intAnzahl + 1
End If
Next i
'ausgeben
lblFehler.Caption = Str$(intAnzahl)
If intAnzahl > 0 Then cmdCopy.Enabled = True
End Sub
Ich hoffe, das mir jemand weiter helfen kann.
Danke im voraus
Bis dann
Feyza
------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP