Avatar billede smolf Nybegynder
09. januar 2000 - 01:39 Der er 2 kommentarer og
1 løsning

Kopering af en filtype

Hvordan kopiere jeg en filtype fra et dir til et andet ?

f.eks alle de txt filer der er i et dir !

Smølf
Avatar billede baunsgaard Nybegynder
09. januar 2000 - 02:04 #1
Nedenstående kode kopierer filer baseret på wildcards! Prøv evt. at kigge på http://msdn.microsoft.com efter de muligheder, som er med SHFileOperation. Det er en meget god funktion, som kan lave en masse forskelligt...

Option Explicit

Private Const FO_MOVE As Long = &H1
Private Const FO_COPY As Long = &H2
Private Const FO_DELETE As Long = &H3
Private Const FO_RENAME As Long = &H4

Private Const FOF_MULTIDESTFILES As Long = &H1
Private Const FOF_CONFIRMMOUSE As Long = &H2
Private Const FOF_SILENT As Long = &H4
Private Const FOF_RENAMEONCOLLISION As Long = &H8
Private Const FOF_NOCONFIRMATION As Long = &H10
Private Const FOF_WANTMAPPINGHANDLE As Long = &H20
Private Const FOF_CREATEPROGRESSDLG As Long = &H0
Private Const FOF_ALLOWUNDO As Long = &H40
Private Const FOF_FILESONLY As Long = &H80
Private Const FOF_SIMPLEPROGRESS As Long = &H100
Private Const FOF_NOCONFIRMMKDIR As Long = &H200

Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Private Type SHFILEOPSTRUCT
        hwnd As Long
        wFunc As Long
        pFrom As String
        pTo As String
        fFlags As Integer
        fAnyOperationsAborted As Long
        hNameMappings As Long
        lpszProgressTitle As String '  only used if FOF_SIMPLEPROGRESS
End Type


Private Sub CopyFiles(Filename As String, ToDir As String)
    Dim FileStruct As SHFILEOPSTRUCT
    Dim X As Long
    Dim P As Boolean

    FileStruct.pFrom = Filename
    FileStruct.pTo = ToDir
    FileStruct.fFlags = FOF_NOCONFIRMMKDIR + FOF_NOCONFIRMATION + FOF_SILENT + FOF_FILESONLY
    FileStruct.wFunc = FO_COPY
    X = SHFileOperation(FileStruct)
End Sub

Private Sub Command1_Click()
    Call CopyFiles("D:\temp\*.txt", "D:\test")
End Sub

Mvh
Avatar billede skg Nybegynder
09. januar 2000 - 02:18 #2
for langt...

Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile fil, hvortil
Avatar billede baunsgaard Nybegynder
09. januar 2000 - 11:44 #3
skg>> OK, det er kortere og det virker, men min måde giver mulighed for håndtering af overskrivning af filer og en progress dialogboks etc.

Men det er jo selvfølgelig ikke sikkert at det er nødvendigt :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester