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

Macro werkt niet meer!!!!

Status
Niet open voor verdere reacties.

plank

Gebruiker
Lid geworden
23 sep 2009
Berichten
34
Hallo excelkanjers,

Na het vastlopen van mijn pc heb ik windows 10 opnieuw geinstalleerd.
Tevens office 2007.
Na het terugzetten van mijn backup werkt de macro niet meer om mijn facturen op te slaan als pdf.
Krijg dan telkens een foutmelding.

Hopelijk kan iemand mij vertellen wat en waar het fout gaat.
Het heeft altijd gewerkt dus daarom snap ik er geen snars van.


'
'Factuur opslaan als PDF
'


Sub Factuur_opslaan()

ThisWorkbook.Worksheets(6).Copy
Application.ActiveWorkbook.ExportAsFixedFormat xlTypePDF, "d:\facturen" & Range("J9") & ".pdf"
Application.ActiveWorkbook.Close saveChanges:=False


End Sub
 
En de foutmelding mogen we niet weten?
Daar gaat het nu net om.

Overigens zou ik het zo schrijven en het hier tussen codetags plaatsen omdat anders cruciale tekens weg vallen:
Code:
Sub Factuur_opslaan()
    ThisWorkbook.Worksheets(6).Copy
    With ActiveWorkbook
        .ExportAsFixedFormat xlTypePDF, "D:\Facturen\" & Range("J9")
        .Close saveChanges:=False
    End With
End Sub

Heb je in de Excel opties wel de Macro's weer toegestaan?
 
Laatst bewerkt:
Hij geeft aan:

Fout 5 tijdens uitvoering.
Ongeldige procedure-aanroep of ongeldig argument.

Heb hem aangepast( gewijzigd)
Nu slaat hij wel op maar opent niet in adobe.

'
'Factuur opslaan als PDF
'


Sub Factuur_opslaan()

ActiveWorkbook.SaveAs "D:\facturen" & Range("J9").Value & ".pdf"

End Sub
 
Ik zie in die code niks met Adobe gebeuren.
Kijk eens in mijn vorige bericht wat je naar mijn mening mist in D:\facturen
En wat staat er letterlijk in J9?
Tevens kan de code die je gebruikt in #3 geen PDF opslaan.
 
Laatst bewerkt:
Edmoor,

Dank voor je supersnelle reactie.
Heb je code erin gezet maar krijg ik ook diezelfde foutcode.

En hoe zet je iets in codetags?
 
Wat ik bedoelde is dat als hij opgeslagen is kan ik hem niet openen met Adobe.
Zegt dat het dor een ander programma is geopend.
 
Het woord "letterlijk" heb je niet gelezen?
Op welk moment en op welke regel krijg je die fout?
Plaats anders je document.
 
Laatst bewerkt:
Hallo,

Daar is ie weer.
Heb het voor elkaar dat het worsdt opgeslagen als PDF maar kan het nu niet openen.
Niet met Adobe en niet met Chrome.
Adobe geeft aan verkeerde bestandsindeling of als emailbijlage gebruikt.
Chrome geeft aan Dat ie het niet kan openen.
Wat is er niet goed:

Code:
Sub Pakbon_opslaan()

ActiveWorkbook.SaveAs "D:\pakbonnen" & Range("J9") & Range("J10").Value & ".pdf"

End Sub
 
Je slaat een excel werkboek op met de extensie .pdf.
Uiteraard kan Adobe dat niet openen want het is geen pdf.
Tevens weet ik nog steeds niet wat er letterlijk in J9 en J10 staat.

Dit is de juiste code, maar zal fout gaan als de informatie in J9 en/of J10 niet goed is:
Code:
Sub Pakbon_opslaan()
    PDFnaam = "D:\pakbonnen" & Range("J9") & Range("J10") & ".pdf"
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFnaam
End Sub
 
Laatst bewerkt:
Orderdatum: 16-12-2017
Debiteurnr:
Leverdatum: 18-12-2017

In j9 staat de orderdatum en j10 debiteurnr.

Voorheen werkte het wel altijd.
Maar ga je voorstel even proberen.
Bedankt alvast.
 
Ok, dat kan in ieder geval, maar dan moet je nog wel een \ zetten achter D:\pakbonnen verwacht ik, tenzij het woord pakbonnen onderdeel van de bestandsnaam moet zijn.
 
Laatst bewerkt:
Edmoor,

Werkt ook niet:( loopt weer vast in de regel van

Code:
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFnaam

Snap er echt niets meer van.
 
Die ene regel heb ik niks aan zonder document. Je verteld er ook niet bij welke fout je krijgt.
Wat is op het moment van vastlopen de inhoud van de variabele PDFnaam?

Doe eens dit:
Code:
Sub Pakbon_opslaan()
    PDFnaam = "D:\pakbonnen" & Range("J9") & Range("J10") & ".pdf"
    MsgBox PDFnaam
    [COLOR="#008000"]'ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFnaam[/COLOR]
End Sub

En laat dan hier zien wat er precies in de MsgBox staat.
 
Laatst bewerkt:
Welk blad is er op dat moment actief?

Met andere woorden:
Je kopieert blad6; staan daar ook de gegevens in J9 en J10?
 
Laatst bewerkt:
Edmoor,

Ik krijg dan een messagebox met D:\pakbonnen\16-12-2017118075.pdf
In J9 staat de datum en in 10 118075

Dat klopt allemaal.
Maar als ik hem dan wil openen ( de PDF) dan lukt dat niet
 
En die PDF is hiermee aangemaakt?
Code:
Sub Pakbon_opslaan()
    PDFnaam = "D:\pakbonnen\" & Range("J9") & Range("J10") & ".pdf"
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFnaam
End Sub

Plaats dan die PDF eens hier.
 
Test eens systematisch in plaats van lukraak.
Wat gebeurt er met

Code:
Sub M_snb()
  ThisWorkbook.sheets(6).Copy

  With ActiveWorkbook
     .ExportAsFixedFormat 0, "D:\pakbonnen\test_000.pdf"
     .close 0
   end with
End Sub
 
Je gebruikt nog steeds het verkeerde bestand.
Je bijlage is de oude, dus een Excel werkblad.
Hernoem hem maar eens van .pdf naar .xlsm dan zal je zien dat deze normaal door Excel kan worden geopend.

En welke foutmelding krijg je op die laatste regel?
 
Laatst bewerkt:
Hij moet geopend kunnen worden in PDF.
Dit omdat ik hem verstuur naar de klant.
Het heeft altijd gewerkt maar sinds kort niet meer.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan