• 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.

In Excel een PDF maken werkt wel in 2010 naar niet in 2007. Help!

Status
Niet open voor verdere reacties.

vibor

Gebruiker
Lid geworden
25 mrt 2016
Berichten
45
Hallo,

In 'Factuur helpmij.xlms' zit een prachtige optie om een factuur in te boeken en er een pdf van te bakken. Dit werkt perfect op een notebook met WIN7 en Excel2010.
Nu heb ik dit bestand helemaal aangepast en passend gemaakt voor de werkzaamheden van mijn vrouw en daarna overgezet naar haar PC met WIN10 en Excel2007 en krijg ik een foutmelding op de regel waar de PDF wordt gemaakt.:

ActiveWorkbook.ExportAsFixedFormat xlTypePDF, ThisWorkbook.Path & "" & fac_nr & "_" & deb_naam & ".pdf"


Ik loop me suf te zoeken naar de verschillen maar kom er niet achter. Ook al andere codes geprobeerd van gelijksoortige oplossingen maar werken niet op de PC van mij lieve vrouw.

De gehele code staat hieronder waarvan de dikke regel dus als fout gegeven wordt.

Code:
Sub inboeken()
    With ThisWorkbook.Sheets("Factuur")
        deb_nr = .Range("H6").Value
        deb_naam = .Range("B6").Value
        ex_btw = .Range("H35").Value
        btw_laag = .Range("K35").Value
        netto_laag = .Range("L35").Value
        btw_hoog = .Range("M35").Value
        netto_hoog = .Range("N35").Value
        btw_tot = .Range("O35").Value
        tot_bedr = .Range("H38").Value
        fac_nr = .Range("H5").Value
        fac_dtm = .Range("H4").Value
        verv_dtm = .Range("K10").Value
        
        .Copy
        [B]ActiveWorkbook.ExportAsFixedFormat xlTypePDF, ThisWorkbook.Path & "\" & fac_nr & "_" & deb_naam & ".pdf"[/B]
        ActiveWorkbook.Close False
    
        Workbooks.Open ThisWorkbook.Path & "\Verkoopboek.xls"
        wbnaam = ActiveWorkbook.Name
    
        With Workbooks(wbnaam)
            With .Sheets("Verkoopboek")
            rij = .Range("A" & Rows.Count).End(xlUp).Offset(1).Row
                .Cells(rij, 1) = rij - 2
                .Cells(rij, 2) = deb_nr
                .Cells(rij, 3) = deb_naam
                .Cells(rij, 5) = ex_btw
                .Cells(rij, 6) = btw_laag
                .Cells(rij, 7) = netto_laag
                .Cells(rij, 8) = btw_hoog
                .Cells(rij, 9) = netto_hoog
                .Cells(rij, 10) = btw_tot
                .Cells(rij, 11) = tot_bedr
                .Cells(rij, 12) = fac_nr
                .Cells(rij, 13) = fac_dtm
                .Cells(rij, 14) = verv_dtm
            End With
            .Close True
        End With
        .Range("H5") = .Range("H5") + 1
        .Range("B6, B16:E25, B41, F24:G25 ") = ""
    End With

Wie kan me helpen?

Grt Vincent
 
Laatst bewerkt:
De mogelijkheid om op te slaan als PDF zit er inderdaad vanaf Office 2010 in. In Office 2007 zal je gebruik moeten maken van een PDF Printer zoals bijvoorbeeld Bullzip:
http://www.bullzip.com/products/pdf/info.php

Edit:
Of de invoegtoepassing waar Ginger naar verwijst.
 
Laatst bewerkt:
??? Da's vreemd @Edmoor... Ik werk op mijn werk ook - nog - met Office 2007, maar daar zit het "gewoon" in. Ik meende dat die toepassing er vanaf 2007 in zat.
@vibor, Maar hoe dan ook. Je kan van de MS-site een invoegtoepassing downloaden. Ik gok dat het dan wel werkt...

[EDIT] Ik bedenk me net dat het óók fout kan gaan in die regel omdat je variabele "deb_naam" zogenaamde "verboden" tekens bevat. Wat is dus je precieze foutmelding?
 
Laatst bewerkt:
Kennelijk heb je dan die invoegtoepassing dan al of zo. Het zit er echt pas vanaf Office 2010 als standaard in, die invoegtoepassing is er niet voor niks.
 
Laatst bewerkt:
Code:
Sub M_snb()
  With ThisWorkbook.Sheets("Factuur")
    sn=array(.[H6],.[B6],[H35],,[K35],.[L35],.[M35],.[N35],.[O35],.[H38],.[H5],.[H4],.[K10])
    .Copy

    with ActiveWorkbook
      .ExportAsFixedFormat 0, ThisWorkbook.Path & "\" & sn(10) & "_" & sn(1) & ".pdf"
      .Close 0
    end with

    with getobject(ThisWorkbook.Path & "\Verkoopboek.xls")
      .Sheets("Verkoopboek").cells(rows.count,1).end(xlup).offset(1,1).resize(,ubound(sn)+1)=sn
      .Close -1
    End With

    .Range("H5") = .Range("H5") + 1
    .Range("B6, B16:E25, B41, F24:G25 ").clearcontents
  End With

NB. geen oplossing voor de afdruk-vraag.
 
Laatst bewerkt:
Hallo Ginger,

Dat was een goede gok. Invoegtoepassing geïnstalleerd en het werkt als een speer.
Waarom kom ik daar nu zelf niet op?? (Arch) Ondanks dat ik flink gegoogeld heb kom ik dat toch niet tegen en bewijst dat de kracht van dit forum!

De under-score mag ik overigens gewoon gebruiken, geeft in deze macro geen probleem. (is een van de weinige uitzonderingen dacht ik)

@Ginger en Edmoor. Hartstikke bedankt voor het mee denken en oplossen.
Altijd weer een trots gevoel als een macro dat doet wat je er van verwacht.

@SNB. Voor deze codering zal toch ook de invoegtoepassing geïnstalleerd moeten zijn lijkt mij? Ook bedankt voor het mee denken.
Grt Vincent


??? Da's vreemd @Edmoor... Ik werk op mijn werk ook - nog - met Office 2007, maar daar zit het "gewoon" in. Ik meende dat die toepassing er vanaf 2007 in zat.
@vibor, Maar hoe dan ook. Je kan van de MS-site een invoegtoepassing downloaden. Ik gok dat het dan wel werkt...

[EDIT] Ik bedenk me net dat het óók fout kan gaan in die regel omdat je variabele "deb_naam" zogenaamde "verboden" tekens bevat. Wat is dus je precieze foutmelding?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan