Macro meerdere prints

Status
Niet open voor verdere reacties.

IJf

Gebruiker
Lid geworden
5 nov 2006
Berichten
40
Beste forumleden,

Graag hulp bij de volgende Macro die een brief voorziet van een verzenddatum, print en opslaat als PDF. Sinds ik de mogelijkheid van het afdrukken van meerdere prints (vet) heb ingebouwd wordt het document niet meer opgeslagen op de ingegeven locatie maar in de standaardmap (in dit geval H:\Word)
In de Macro is toegevoegd "Afdruk = InputBox ("Aantal Printjes")" en "Copies:=afdruk" (waar voordien 1 stond). De macro wordt verder zonder foutmelding uitgevoerd.

Bij voorbaat dank.

Code:
Sub VdPBnOl()
'
' Macro zet Verzenddatum, Print het document, Vraagt om een Bestandnaam en Opslaglacatie
'
'
    Selection.InsertDateTime DateTimeFormat:="d MMMM yyyy", InsertAsField:= _
        True, DateLanguage:=wdDutch, CalendarType:=wdCalendarWestern, _
        InsertAsFullWidth:=False

[B]Afdruk = InputBox ("Aantal Printjes")
    Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
        wdPrintDocumentWithMarkup, Copies:=Afdruk, Pages:="", PageType:= _
        wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
        PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0[/B]
        
Naam = InputBox("Bestandsnaam")
Directory = InputBox("Path")
    ActiveDocument.ExportAsFixedFormat OutputFileName:=Naam, ExportFormat:=wdExportFormatPDF, _
        OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
        wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
        IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
        wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
        True, UseISO19005_1:=True
'    ChangeFileOpenDirectory "Directory"
End Sub
 
Laatst bewerkt:
Ik zou zeggen: eerst opslaan, dan afdrukken. Of is er een noodzaak om het andersom te doen?
 
Uh, niet aan gedacht. Goed idee. Ga ik even uitproberen.

Dat was het dus niet, maar na enig gefoezel toch gevonden..
Code:
Sub VdPBnOl()
'
' Macro zet Verzenddatum, Vraagt om een Bestandnaam en Opslaglocatie, Print het document.
'
'
Selection.InsertDateTime DateTimeFormat:=" d MMMM yyyy", InsertAsField:= _
        True, DateLanguage:=wdDutch, CalendarType:=wdCalendarWestern, _
        InsertAsFullWidth:=False
        
Naam = InputBox("Bestandsnaam")
    ActiveDocument.ExportAsFixedFormat OutputFileName:=Naam, ExportFormat:=wdExportFormatPDF, _
        OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
        wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
        IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
        wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
        True, UseISO19005_1:=True
        
Dim Path As String
Path = InputBox("Waar wil je het opslaan?")
    ChangeFileOpenDirectory (Path)
        
Afdruk = InputBox("Aantal Printjes")
    Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
        wdPrintDocumentWithMarkup, Copies:=Afdruk, Pages:="", PageType:= _
        wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
        PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0

End Sub

Moet ik nog één probleempje oplossen: Bestaande bestanden mogen niet (per ongeluk) worden overschreven.
Als het bestand al bestaat moet er -automatisch- een -1, -2, -3 enz. worden toegevoegd.
Voor aanwijzingen houd ik mij aanbevolen...
 
Laatst bewerkt:
Controleer met de DIR opdracht of het bestand al bestaat, en pas je actie daar op aan.
 
Mmm., Verschillende DIR opties geprobeerd. Dat levert nog niet op wat ik wil.
Er wordt keurig gecontroleerd maar krijg geen melding dat het bestand bestaat, laat staan dat ik een andere naam kan ingeven.
Ook niet met een IF ELSE script. Mogelijk dat het hele script zo geschreven moet worden dat de bestandslocatie zich eerst opent ...
Voor dit moment moet ik het hier even bij laten. Andere werkzaamheden wachten ...
Toch bedankt!
 
Je moet inderdaad met een IF bepalen wat er moet gebeuren.
PHP:
        If Not Dir(sFile) = "" Then
etc.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan