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

Automatisch PDF opslaan in excel

Status
Niet open voor verdere reacties.

coen17stam

Gebruiker
Lid geworden
21 aug 2010
Berichten
55
Hallo,

Ik zou graag willen dat als ik mijn Excel bestand opsla er ook automatisch een pdf opgeslagen word.

Is dit mogelijk? zo ja? hoe?
 
Dan heb je VBA nodig.

Daar kan ik je onvoldoende bij helpen, maar welke kennis heb jij hiervan?
 
Dit is in ieder geval wat je nodig hebt:

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Map1.pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
End Sub

Dat zorgt ervoor dat bij het sluiten en opslaan van het document, een kopie van je huidige werkblad als PDF bestand wordt opgeslagen.
 
Laatst bewerkt:
Heel erg bedankt.

nu stap 2 en het verwerken van deze code ik weet dat ik iets met ontwikkelaars moet doen maar wat?
 
Laatst bewerkt door een moderator:
Met de code van Edmoor.

Open het Excelbestand.

Druk Alt+f11 tegelijkertijd in.

Kies aan de linkerzijde voor this workbook.

Plak daarin de code die je van Edmoor hebt gekregen.

Als je dan kiest voor opslaan wordt het bestand als PDF opgeslagen in de map die je hebt aangegeven.

Je moet wel eerst macro's toestaan.

De rode code is gewijzigd en geeft het bestandpad op je PC aan.

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="[COLOR="red"]C:\Users\laptop\Documents\excel forum\testvooropslaan.pdf[/COLOR]", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
End Sub
Heb je hier vragen over, laat het gewoon even weten.
 

Bijlagen

Oeldere was me voor :thumb:
 
@Edmoor,

Van VBA kan ik nog veel leren, dus ik zou het fijn vinden als je op de achter- of voorgrond :p bij deze vraag betrokken blijft. :thumb:
 
Met de code van Edmoor.

Open het Excelbestand.

Druk Alt+f11 tegelijkertijd in.

Kies aan de linkerzijde voor this workbook.

Plak daarin de code die je van Edmoor hebt gekregen.

Als je dan kiest voor opslaan wordt het bestand als PDF opgeslagen in de map die je hebt aangegeven.

Je moet wel eerst macro's toestaan.

De rode code is gewijzigd en geeft het bestandpad op je PC aan.

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="[COLOR="red"]C:\Users\laptop\Documents\excel forum\testvooropslaan.pdf[/COLOR]", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
End Sub
Heb je hier vragen over, laat het gewoon even weten.


Er gebeurt niets als ik alt+f11 indruk tegelijk. als ik kijk in de tabblad ontwikkelaars is Visual Basic grijs (niet selecteerbaar). "macrobeveilging staat op alle macro's inschakelen (wordt niet aanbevolen" .... etc.

wat kan ik doen om dit probleem te verhelpen?
 
Dan lijkt het erop dat Office is geinstalleerd zonder de "Shared Components" en dan heb je geen VBA.
Een herinstallatie is dan nodig waarbij die componenten ook worden geselecteerd.
 
Dan lijkt het erop dat Office is geinstalleerd zonder de "Shared Components" en dan heb je geen VBA.
Een herinstallatie is dan nodig waarbij die componenten ook worden geselecteerd.

Oke ik heb het nu geïnstalleerd en het werkt :) dank daarvoor!

maar ik moet een volledige pad opgeven kan ik ook zorgen dat ik alleen de onderliggende map opgeef zoals bijv dit: Filename:="Overige Documenten\Factuur.pdf",

ik heb nu dit F:\Stam\Klanten\(9999) KOPIEËR VOOR NIEUWE KLANT\Overige Documenten.

de map "(9999) KOPIEËR VOOR NIEUWE KLANT" kopieer ik dus elke keer en de mapnaam veranderd steeds. dit zou dus betekenen dat ik elke keer de code zou moeten veranderen.
 
Nee, je kunt straks ook gaan werken met een celverwijzing.

Ik heb de oplossing zo niet voorhanden, maar die is hier op het forum met de zoekfunctie wel te vinden.

Je dient volgens mij wel een \ achter overige documenten in te vullen, anders gaat de code fout.

dus => overige documenten\
 
Beste mensen,

Werkt dit ook in Excel 2003?
Ik krijg twee compileerfouten: een syntaxisfout en : verwacht benoemde parameter.

Weet iemand wat ik verkeerd doe?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan