Hey Leute,
hab da ein Problem und zwar, ich möchte das 2 Ordner (vordefiniert)
(wo die EXE drin ist) kopiert werden.
Wie mach ich das am Besten, wie der aktuelle Pfad genommen wird.
hoschi ;D
Druckbare Version
Hey Leute,
hab da ein Problem und zwar, ich möchte das 2 Ordner (vordefiniert)
(wo die EXE drin ist) kopiert werden.
Wie mach ich das am Besten, wie der aktuelle Pfad genommen wird.
hoschi ;D
wie du Ordner an sich kopierst , wird hier gezeigt
http://www.vbarchiv.net/faq/faq_ds_foldercopy.html
der Pfad der eigenen exe kannst du mittels "App.Path" ermitteln
MfG
Also gibt man statt:
sPath = "d:\temp\test\"
das ein:
sPath = "App.Path\blub"
?
sPath = App.Path & "\blub\"Zitat:
Also gibt man statt:
sPath = "d:\temp\test\"
das ein:
sPath = "App.Path\blub"
?
PS: hab deine PN beantwortet ;)
MfG
wollte gestern eig antworten... hab dann alles geschrieben, und beim abschicken, kamm dieser datenbank-fehler ^^ :D
so, Usage:
CopyFolder GetCurrentDirectory,"C:\NeuerOrdner"
Code:Option Explicit
Private Type TSHFileOPStruct
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Long
sProgress As String
End Type
Private Enum EFO_Functions
Move = &H1
Copy = &H2
Delete = &H3
RENAME = &H4
End Enum
Private Declare Function wapiSHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As TSHFileOPStruct) As Long
Private Declare Function wapiGetCurrentDirectory Lib "kernel32" Alias "GetCurrentDirectoryA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Public Function GetCurrentDirectory() As String
Dim Buffer As String
Buffer = String(255, 0)
wapiGetCurrentDirectory 255, Buffer
GetCurrentDirectory = Buffer
End Function
Private Sub LeftLastSlash(Value As String)
If LenB(Value) > 0 Then
If Right$(Value, 1) = "\" Then
Value = Left$(Value, Len(Value) - 1)
End If
End If
End Sub
Public Function CopyFolder(ByVal Source As String, ByVal Dest As String) As Boolean
Dim SHFileOp As TSHFileOPStruct
Dim rVal As Long
LeftLastSlash Source
LeftLastSlash Dest
With SHFileOp
.wFunc = Copy
.pFrom = Source
.pTo = Dest
End With
rVal = wapiSHFileOperation(SHFileOp)
If rVal > 0 Then
MsgBox rVal
Exit Function
End If
CopyFolder = True
End Function
Wow danke,
aber wo schreibe ich da rein, wo der Ordner hin kopiert wird?
Und kann man den Code erweitern, sodass Unterverzeichnisse mit kopiert werden + vorhandene Daten überschrieben werden?
Danke
Lol, also das geht auch einfacher
Um FileSystemObject benutzen zu können, brauchst du die "Windows Scripting Runtime" oder "Windows Scripting Host"Code:Private Sub Form_Load()
Dim FSO As New FileSystemObject, Folder As Folder
Set Folder = FSO.GetFolder(Environ("userprofile") & "\Desktop")
Folder.Copy "C:\"
End Sub
Findest du oben unter "Projekt - > Verweise"
Danke big earl, wusste ich auch nicht :D
LOL!! benutz doch weiter deinen FileSystemObject müll..
"einfacher" lol... am besten noch WMI und und und benutzen, wenns jmd ausmacht haste pech.. und wozu die verweise ?? einmal ne engine gebaut und fertig,
WTF! so ein müll!
das steht doch wie du das benutzen musst!!!
CopyFolder "C:\Windows\,"C:\TEST\"