• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Via Excel pdf's bestand veranderen?

Status
Niet open voor verdere reacties.

marcoexcel

Gebruiker
Lid geworden
23 aug 2012
Berichten
30
Wie weet een soort code of macro waarbij je via excelbestand pdf's kan hernoemen.


Stel ik heb in cellen

B1=nr1 C1=woning
B2=nr2 C2=woning met dak
B3=nr3 C3=woning met schuur
B4=nr4 C4=woning met garage

de pdf's hebben de nummers
nr1.pdf
nr2.pdf
nr3.pdf
nr4.pdf

De cel B1 corespondeert met de nr1.pdf
De cel B2 corespondeert met de nr2.pdf

De pdf's moet dan met 1 knop het volgende worden
B1+C1= nr1woning.pdf
B2+C2= nr2woning met dak.pdf
B2+C2= nr3woning met schuur.pdf
B2+C2= nr4woning met garage.pdf

de pdf's staan in de bv maplocatie C:\Documents and Settings\woning
 
Laatst bewerkt:
Voorbeeldcode:

Code:
Sub pdfs_hernoemen()
    
    Path = "C:\Documents and Settings\woning\"
    For Each r In Columns(2).SpecialCells(2, 2)
        Name Path & r.Text & ".pdf" As Path & r.Text & r.Offset(, 1).Text & ".pdf"
    Next

End Sub
 
Of nog:

Code:
Sub pdfs_hernoemen()
    
    Path = "C:\Documents and Settings\woning\"
    For Each r In Columns(2).SpecialCells(2, 2)
        s = Path & r.Text & ">.pdf"
        Name Replace(s, ">", "") As Replace(s, ">", r.Offset(, 1).Text)
    Next

End Sub
 
Code:
Sub pdfs_hernoemen()
    
    Path = "C:\Documents and Settings\woning\"
    For Each r In Columns(2).SpecialCells(2, 2)
        Name Path & r.Text & ".pdf" As Path & r.Text & r.Offset(, 1).Text & ".pdf"
    Next

End Sub

Merk dat als je B3 niet invult dat nr4.pdf, nr5.pdf enz niet worden aangepast.
B1=nr1 B2=nr2 en B3= B4=nr4 enzz.
Verder als B1=nr1 dan past hij nr1.pdf aan maar zodra ik B1=100 invult dan past hij 100.pdf niet aan.
Eigelijk wat ik in kolom 2 (B) invult en dat komt overeen met 1 van de pdf's,dan moet de pdf's wijzigingen.

En stel de gegevens komt niet uit kolom C maar E, hoe moet ik de code aanpassen?
thx alvast
 
Laatst bewerkt:
Aangepaste code:

Code:
Sub pdfs_hernoemen()
    
    Path = "C:\Documents and Settings\woning\"
    For Each r In Columns(2).SpecialCells(2)
        Name Path & r.Text & ".pdf" As Path & r.Text & r.Offset(, 1).Text & ".pdf"
    Next

End Sub

Ik gebruik Columns(2) voor kolom B en Offset(,1) voor kolom C; ik hoop dat je dan wel begrijpt wat je moet aanpassen voor kolom E ipv C.
 
Ja het aanpassen van kolom snap ik nu :)
Ik heb wel nog iets..
Bij het eerste test vul ik C1=huis1 C2=boom C3= leeg en de pdf's worden aangepast. (huis.pdf, boom.pdf en deze blijft zo 3.pdf)
stel er komt een wijziging
Doe ik (B1=1 C1=huis) (B2=2 C2=boom) en (B3=3 C3=auto)
Nu krijg ik een melding kan de bestand niet vinden. Opzich snap ik dat omdat B1(1huis.pdf) en B2(2boom.pdf) niet overeenkomt met maar 3.pdf zou ik dan
naar 3auto.pdf willen hebben zonder dat ik een fout melding krijg. enz
 
Aangepaste code:

Code:
Sub pdfs_hernoemen()
    [B]On Error Resume Next[/B]
    Path = "C:\Documents and Settings\woning\"
    For Each r In Columns(2).SpecialCells(2)
        Name Path & r.Text & ".pdf" As Path & r.Text & r.Offset(, 1).Text & ".pdf"
    Next

End Sub

of:

Code:
Sub pdfs_hernoemen()
    
    Path = "C:\Documents and Settings\woning\"
    For Each r In Columns(2).SpecialCells(2)
        If r.Text <> r.Offset(, 1).Text Then
           [B]If Len(Dir(Path & r.Text & ".pdf")) Then [/B]Name Path & r.Text & ".pdf" As Path & r.Text & r.Offset(, 1).Text & ".pdf"
        End If
    Next

End Sub
 
Laatst bewerkt:
Code:
Sub pdfs_hernoemen()
    [B]On Error Resume Next[/B]
    Path = "C:\Documents and Settings\woning\"
    For Each r In Columns(2).SpecialCells(2)
        Name Path & r.Text & ".pdf" As Path & r.Text & r.Offset(, 1).Text & ".pdf"
    Next

End Sub


Werkt Perfect voor mij!! Top!! :) , 1 laatst ding is het mogelijk dat na het hernoemen het bestand ipv 2huis.pdf
met spatie 2 huis.pdf wordt. Dan is het hele code perfect.
 
Laatst bewerkt door een moderator:
Doe aub zelf ook een poging om dit te snappen.
Dit is geen hogere wiskunde of zo ;)
Uiteindelijk ben jij het die de code in de toekomst zal moeten onderhouden / uitleggen / documenteren, enz.

Code:
Sub pdfs_hernoemen()
    [B]On Error Resume Next[/B]
    Path = "C:\Documents and Settings\woning\"
    For Each r In Columns(2).SpecialCells(2)
        Name Path & r.Text & ".pdf" As Path & r.Text [B][I][U]& " "[/U][/I][/B] & r.Offset(, 1).Text & ".pdf"
    Next

End Sub
 
Ik zal het een keer proberen, voor nu wil ik je bedanken voor dit perfecte code ben super blij mee:thumb::d
waar kan ik de beginselen leren. Bevindt dat op dit site? thxxx
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan