bestanden kopieren en opslaan als naam cel

Status
Niet open voor verdere reacties.

ms1106

Gebruiker
Lid geworden
20 jun 2014
Berichten
14
Hallo,

Ik heb een bestand met allerlei bestandsnamen in een kolom.
Deze bestanden zou ik graag willen kopiëren en opslaan onder een andere naam, deze nieuwe naam staat ook in een cel.
Kan iemand mij op weg helpen? Ik heb een voorbeeld bestand bijgevoegd.


De bestanden heb ik opgehaald van de server via VBA en ergens anders opgeslagen, maar dus onder dezelfde naam, omdat ik niet wist hoe ik moest verwijzen naar een andere naam.
De code die ik gebruikt heb is onderstaande:

Public Sub M_snb()
For Each hl In ThisWorkbook.Sheets("Blad1").Hyperlinks
FileCopy hl.Address, "E:\kopie" & "" & Split(hl.Address, "")(UBound(Split(hl.Address, "")))
Next
End Sub

Ik ben nog niet zo erg thuis in VBA en probeer met trial & error een eind te komen, maar hoop dat iemand me even op weg kan helpen.
Alvast bedankt!

Gr. MarijkeBekijk bijlage voorbeeld.docx.xlsm
 
Ik zou niet zo moeilijk doen met die hyperlinks. Kijk eens naar dit:
Code:
Sub Test()
    Dim rRange As Range
    Dim i As Integer
    Dim oBestand As String
    Dim nBestand As String
    
    Set rRange = Range("A1").CurrentRegion
    For i = 2 To rRange.Rows.Count
        oBestand = rRange(i, 1) & rRange(i, 2)
        nBestand = rRange(i, 3) & rRange(i, 4)
        MsgBox "OUD  : " & oBestand & vbCrLf & _
               "NIEUW: " & nBestand
        'FileCopy oBestand, nBestand
    Next i
End Sub
 
Laatst bewerkt:
Bedankt voor de moeite, helaas krijg ik het niet werkend.
De bestanden worden niet gekopieerd, dus er gaat nog iets niet goed en ik zie niet wat :(.
 
De code met de MsgBox is uiteraard om je het resultaat te laten zien. De eigenlijke kopie opdracht wordt vooraf gegaan door een enkele quote waardoor het een commentaar regel is geworden. Dat heb je toch wel aangepast?
Code:
Sub Test()
    Dim rRange As Range
    Dim i As Integer
    Dim oBestand As String
    Dim nBestand As String
    
    Set rRange = Range("A1").CurrentRegion
    For i = 2 To rRange.Rows.Count
        oBestand = rRange(i, 1) & rRange(i, 2)
        nBestand = rRange(i, 3) & rRange(i, 4)
        FileCopy oBestand, nBestand
    Next i
End Sub
 
De code met de MsgBox is uiteraard om je het resultaat te laten zien. De eigenlijke kopie opdracht wordt vooraf gegaan door een enkele quote waardoor het een commentaar regel is geworden. Dat heb je toch wel aangepast?
Code:
Sub Test()
    Dim rRange As Range
    Dim i As Integer
    Dim oBestand As String
    Dim nBestand As String
    
    Set rRange = Range("A1").CurrentRegion
    For i = 2 To rRange.Rows.Count
        oBestand = rRange(i, 1) & rRange(i, 2)
        nBestand = rRange(i, 3) & rRange(i, 4)
        FileCopy oBestand, nBestand
    Next i
End Sub

Die had ik inderdaad begrepen :)
Alleen had ik door het rommelen blijkbaar een van de paden aangepast en dit niet meer terug gezet.
Dus nu werkt het. Bedankt!:thumb:
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan