21. september 2009 - 04:18Der 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.
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?
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 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
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.