selectief printen met VBA

Status
Niet open voor verdere reacties.

brammetje82

Gebruiker
Lid geworden
11 okt 2001
Berichten
373
Goedemorgen lezers,

Ik heb de volgende vraag: Ik zou het graag voor elkaar willen krijgen dat, als ik een document heb dat bestaat uit meerdere pagina's ik voor iedere pagina kan bepalen hoeveel deze uitgeprint wordt. Dit zou dan moeten gebeuren aan de hand van een veld wat in het document aangeeft hoeveel exemplaren er geprint moeten worden. In dit veld worden gegevens geimporteerd vanuit een andere applicatie. Dit alles zou in Word '97 moeten gebeuren.

Weet iemand of dit uberhaubt kan en zo ja heeft iemand hier een code voor (of iets wat erop lijkt)

Alvast bedankt
Mvg
Bram
 
Voer de gehele actie eenmaal uit met macro opnemen.
Je hebt dan je code en moet alleen het gedeelte aanpassen waar het aantal ingevuld wordt. Hier moet je dan de waarde van jouw veld uitlezen.
 
Ik heb het volgende gedaan.
Bij het betreffende document (wat overigens nog niet samengevoegd is), heb ik een macro gemaakt waarmee je het document laat afdrukken, dat zie er zo uit:

Sub testbram()
'
' testbram Macro
' Macro opgenomen op 29-12-04 door bvn
'
ActivePrinter = "\\SIEM-CS-ALA\vernietigen/poststukken"
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:=False
End Sub

Hoe kan ik dan de code verder uitbreiden?
Ps: absolute leek aan het woord hiero...
 
Uit de helpfile wat voorbeelden:

***
PrintOut Method (Application, Document, and Window Objects) Example

This example prints the current page of the active document.

ActiveDocument.PrintOut Range:=wdPrintCurrentPageThis example prints all the documents in the current folder. The Dir function is used to return all file names that have the file name extension ".doc".

adoc = Dir("*.DOC")
While adoc <> ""
Application.PrintOut FileName:=adoc
adoc = Dir()
WendThis example prints the first three pages of the document in the active window.

ActiveDocument.ActiveWindow.PrintOut _
Range:=wdPrintFromTo, From:="1", To:="3"This example prints the comments in the active document.

If ActiveDocument.Comments.Count >= 1 Then
ActiveDocument.PrintOut Item:=wdPrintComments
End IfThis example prints the active document, fitting six pages on each sheet.

ActiveDocument.PrintOut PrintZoomColumn:=3, _
PrintZoomRow:=2This example prints the active document at 75% of actual size.

ActiveDocument.PrintOut _
PrintZoomWidth:=0.75*(8.5*1440), _
PrintZoomHeight:=0.75*(11*1440)
***

Haal het stuk waarin je actieve printer wordt aangegeven eruit om ook op andere PC's probleemloos af te kunnen drukken. Je kunt ook meerdere van dit soort opdrachten onder elkaar zetten. Dan krijg je alleen wel voor elke regel in je code een printopdracht naar je printer.


Grtz,
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan