TKSoft-Online

Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

API Ordner Kopieren
(1 Leser) (1) Gast
Alles rund um MS-Access
  • Seite:
  • 1

THEMA: API Ordner Kopieren

API Ordner Kopieren 1 Jahr, 3 Monate her #788

  • Amigo49
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 4
  • Karma: 0
Hallo TommyK,
Hallo Forum,
ich habe mich vor einiger Zeit hier angemeldet und muß mich zuerst mal im besonderen bei TommyK und allen anderen Forum-Teilnehmer bedanken die hier ihr Wissen weitergeben.
Nun zu meinem 1.Anliegen
ich kopiere mit der von TommyK bereitgestellten API-Funktion Ordner Kopieren Ordner in verschiedene Verzeichnisse.(funktioniert auch)
Wenn ich einen Ordner in ein Verzeichnis kopiere in dem der Ordner bereits vorhanden ist kommt die Meldung "Ersetzen von Ordner Bestätigen"
Frage: kann man diese Meldung deaktivieren, so das bereits vorhandene Ordner ohne Nachfrage überschrieben werden.
2.Anliegen: die Ordner-Pfade werden in einer Tabelle "tblVerzeichnisEinlesen" bzw. in einem Listenfeld "lstVerzeichnisEinlesen aufgelistet"
Frage: Kann ich die in der Liste oder Tabelle aufgeführten Ordner alle auf einmal kopieren?

Ich hoffe ich habe mich verständlich ausgedrückt.
Würde mich freuen wenn mir jemand Helfen könnte

Mit freundlichem Gruß Bruno

Aw: API Ordner Kopieren 1 Jahr, 3 Monate her #789

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
Hallo Bruno,

zu Deiner 1. Frage:
Das sollte so gehen
Public Function CopyOperation(dateinamen$(), zielverzeichnis$, Optional boolSubFolder As Boolean = False)
'*******************************************
'
Name: CopyOperation (Function)
'Purpose: kopieren von Dateien und Verzeichnissen
'
Author: Tommyk
'Date: März 11, 2004, 04:23:10
'
Inputs: dateinamen$()= Namen der Quelldateien + Pfad, zielverzeichnis$= Zielverzeichnis
' boolSubFolder=True, mit Subfolder
'
Output:
'*******************************************
Dim filenames$
Dim i As Integer
Dim shellinfo As SHFILEOPSTRUCT
 
10 For i = 0 To UBound(dateinamen)
20 filenames = filenames & dateinamen(i) + Chr(0)
30 Next i
40 filenames = filenames + Chr(0)
 
50 With shellinfo
60 .hWnd = Screen.ActiveForm.hWnd
70 .wFunc = FO_COPY
80 .pFrom = filenames
90 .pTo = zielverzeichnis
100 If boolSubFolder = True Then .fFlags = FOF_FILESONLY
110 .fFlags = .fFlags Or FOF_NOCONFIRMMKDIR Or FOF_NOCONFIRMATION
120 End With
130 CopyOperation = (0 = SHFileOperation(shellinfo))
End Function

Du musst nur den Code der Funktion in Deiner DB ersetzen.

zu 2.
Ja, das geht.
Du musst nur ein Recordset Deiner Tabelle offnen und es durchlaufen
z.B.:
Public Sub CopyComplete(sTargetPath As String)
 
Dim rs As DAO.Recordset
Dim s$(0)
Dim s1 As String
 
10 Set rs = CurrentDb.OpenRecordset("tblVerzeichnisEinlesen")
 
20 Do While Not rs.EOF
30 s(0) = rs!DasFeldmitPfad
40 CopyOperation s, sTargetPath, True
50 rs.MoveNext
60 Loop
70 rs.Close
End Sub

In der Zeile 30 musst Du natürlich den Namen des Feldes angeben in der der Pfad gespeichert ist.

Der Aufruf könnte dann so aussehen:
CopyComplete "H:\Test\"
Gruß TommyK

Aw: API Ordner Kopieren 1 Jahr, 3 Monate her #790

  • Amigo49
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 4
  • Karma: 0
Hallo TommyK,
ich weiß nicht was ich sagen (schreiben) soll.
Zum einen Dank für die supperschnelle Antwort,
zum anderen Dank für den Code, beides funktioniert so wie ich mir das vorgestellt haben.
Also nochmals, "VIELEN DANK",
denn es ist nicht selbstverständlich das einem so geholfen wird.

Ich wünsche Dir noch eine gute Zeit
Gruß Bruno
  • Seite:
  • 1
Moderatoren: TommyK
Ladezeit der Seite: 5.43 Sekunden

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173444 Downloads

JoomlaWatch 1.2.11 - Joomla Monitor and Live Stats by Matej Koval