Avatar billede brenderup Nybegynder
21. september 2009 - 04:18 Der er 7 kommentarer og
1 løsning

Flytte alle filer fra mappe 1 til mappe 2 med en makro?

Jeg har et regneark, hvor bruger indtaster data for billeddokumentation. Jeg vil gerne kunne flytte billederne fra mappen "Camera", hvor billederne placeres af kameraet til en mappe med navnet på den række, som data er indtastet i. Kan man f.eks. placere en knap i Række 3, som flytter alle JPG filer fra "Camera" til mappe 3? Tilsvarende Række 4 til mappe 4 osv.
Jeg skal kunne arbejde med 7000 rækker og 7000 mapper.

Håber at der er en der vil hjælpe mig. :-)
Hilsen Bjarne.
Avatar billede supertekst Ekspert
21. september 2009 - 08:55 #1
Vil det ikke kræve en knap pr. række? Der kunne jo også være andre muligheder - evt.via en knap i en værktøjslinie eller højreklik i rækken eller...
Avatar billede brenderup Nybegynder
21. september 2009 - 09:09 #2
Jo det vil kræve en knap til at aktivere hver makro. Stort arbejde, men det er det eneste jeg kan komme på med mit ringe kendskab. Kan man starte makroen ved at klikke på en celle med nummeret for destinationsmappen?
Har du et forslag?
Avatar billede supertekst Ekspert
21. september 2009 - 09:50 #3
Ja - det kan man. Prøv evt. at sende en model af arket -
Avatar billede supertekst Ekspert
21. september 2009 - 09:52 #4
PS: Skal makroen også oprette den relevante mappe, hvis den ikke findes?
Avatar billede brenderup Nybegynder
21. september 2009 - 10:18 #5
Mapperne findes på forhånd, så de skal ikke oprettes.
Avatar billede supertekst Ekspert
21. september 2009 - 14:32 #6
Rem Version 2 21-09-2009
Rem --------------------
Rem Super-kontekst
Rem Const frasti = "C:\Documents and Settings\pb.KHNBPB\Skrivebord\Brenderup2\Camera"
Rem Const tilSti = "C:\Documents and Settings\pb.KHNBPB\Skrivebord\Brenderup2\"

Rem BW-kontekst
Const fraSti = "d:\data\bw.v-log\My Documents\BWVBA\Camera"
Const tilsti = "d:\data\bw.v-log\My Documents\BWVBA\Test2\"

Const førsteBilledRække = 5
Const billedKolonneNr = 25                          'Y

Rem Version 2 - 16-09-2009
Rem ----------------------
Const rød = &HC0C0FF
Dim bagGrund
Const fraKolNr = 2                                  'B
Const tilKolNr = 14                                'N
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ræk As Long, kol As Byte, billedMappeNr
    ræk = Target.Row
    kol = Target.Column
   
    If kol > fraKolNr And kol <= tilKolNr Then
            checkudfyldt ræk, kol - 1              'Target.Address
    Else
        If kol = billedKolonneNr And Target.Value = "" Then
            billedMappeNr = ræk - (førsteBilledRække - 1)
            flytJpgFiler tilsti + CStr(billedMappeNr)
            Target.Value = billedMappeNr
            Target.Font.Bold = True
        End If
    End If
End Sub
Private Sub checkudfyldt(ræk, kol)
    For Each cc In Range(Cells(ræk, fraKolNr), Cells(ræk, kol)).Cells
        If cc.Value = "" Then
            cc.Cells.Select
            MsgBox ("Celle skal udfyldes!")
            cc.Interior.ColorIndex = 3
            Exit Sub
        Else
            cc.Interior.ColorIndex = Cells(ræk, fraKolNr).Interior.ColorIndex
        End If
    Next
End Sub
Private Sub flytJpgFiler(tilMappe)
Dim fs, f, f1, fc
   
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(fraSti)
    Set fc = f.Files
   
    For Each f1 In fc
        If LCase(Right(f1.Name, 3)) = "jpg" Then
            FileCopy fraSti + "\" + f1.Name, tilMappe + "\" + f1.Name
Rem slet camera-filen
            Kill fraSti + "\" + f1.Name
        End If
    Next
End Sub
Avatar billede brenderup Nybegynder
21. september 2009 - 14:37 #7
Igen en perfekt løsning på min opgave.
Mange tak for hjælpen.
Hilsen Bjarne :-)
Avatar billede supertekst Ekspert
21. september 2009 - 14:46 #8
Selv tak...
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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