Serie Word-documenten alleen 1e pagina printen

Senso

Inventaris
Lid geworden
13 jun 2016
Berichten
11.297
Besturingssysteem
W10 Pro en W11 Pro
Office versie
Office 2007 H&S en Office 2021 Prof Plus
Serie Word-documenten alleen 1e pagina printen. Alle documenten (.docx) staan in één map met als kenmerk/overeenkomsten in alle bestandsnamen *INDEX Jaarordner* Ik kan ze ook in één map zetten.
volledig voorbeeld naam:
_31_INDEX Jaarordner _Blad _AANGIFTE BELASTINGDIENST.docx
Telkens één voor één openen is lastig.
Is er een oplossing voor? Freeware?

Als ik RMK doe > Afdrukken, krijg ik niet het printerscherm maar begint gelijk af te drukken (alles in een document).

VBA-code geen ervaring met/in Word!
Code:
[VBA]Sub PrintAll()

Dim fso As FileSystemObject
Dim fldr As Folder
Dim f As File
Dim myDoc As Document
Const TARGET_FOLDER As String = "C:\Temp\"

Set fso = New FileSystemObject
Set fldr = fso.GetFolder(TARGET_FOLDER)
For Each f In fldr.Files
If Right(f.Name, 4) = ".docx" Then
Set myDoc = Documents.Open(TARGET_FOLDER & f.Name)
myDoc.PrintOut
myDoc.Close False
' you could append a log file here
End If
Next f

End Sub[/VBA]
 
Laatst bewerkt:
Helaas werkt onderstaande niet. Foutopsporing blijft blanco bij opening in de VBA-editor. Ik deed F8 stap, stap en toen werd één pagina van één document geprint. Ik heb twee documenten in een map staan.

Fout bij printen.jpg
PHP:
Sub PrintAllWordDocs
Dim strPath As String
strPath = "E:\test\"
strFileName = Dir(strPath + "*.docx", vbNormal)
Do While strFileName <> ""
 Documents.Open FileName:=strPath + strFileName, ConfirmConversions:=False, _
 ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
 PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
 WritePasswordTemplate:="", Format:=wdOpenFormatAuto
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
 wdPrintDocumentContent, Copies:=1, Pages:="1", PageType:=wdPrintAllPages, _
 ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
 False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
 PrintZoomPaperHeight:=0
Documents.Close
strFileName = Dir
Loop
End Sub
 
Laatst bewerkt:
Probeer dit eens:
Code:
Sub PrintAllDocx()
    Dim vDirectory As String
    Dim oDoc As Document
    Dim fDoc As String
 
    vDirectory = "C:\Temp\"
    fDoc = Dir(vDirectory & "*.docx")
    Do While fDoc <> ""
        Set oDoc = Documents.Open(FileName:=vDirectory & fDoc)
        oDoc.PrintOut Range:=wdPrintCurrentPage
        oDoc.Close SaveChanges:=False
        fDoc = Dir
    Loop
End Sub

NB:
Voor het aan elkaar plakken van strings gebruik je geen + maar &.
 
Laatst bewerkt:
Waar staat jouw Pad c:\temp\ vervangen door E:\test\ ?

Er wordt constant maar één pagina van één document geprint en dan stopt het. Document wordt niet afgesloten. Stop.

fout?
oDoc.PrintOut Range:=wdPrintCurrentPage

en 5322
 
Laatst bewerkt:
Daar plaats je uiteraard de folder waar de docx documenten staan.
Ik heb "C:\Temp\" gebruikt omdat je dat zelf deed in #1.
Je mag er dus ook "E:\test\" van maken.
Bericht automatisch samengevoegd:

Er wordt constant maar één pagina van één document geprint en dan stopt het. Document wordt niet afgesloten. Stop.

fout?
oDoc.PrintOut Range:=wdPrintCurrentPage

en 5322
Het werkt hier prima, geen idee waarom bij jou niet.
Per document wordt alleen pagina 1 afgedrukt, zoals je vroeg.
Schijfruimte?
Geheugen vol?
Dat is wat fout 5322 zegt.
 
Laatst bewerkt:
Ja, dat is altijd zo. Bij mij werkt het dan niet. Dat heeft niets met geheugen/schijfruimte te maken. Allemaal flauwekulmeldingen. Net als in Excel de openstaande documenten worden niet afgesloten en dan stopt het proces. Laat verder maar zitten. Bedankt voor de hulp. Einde verhaal.
 
Aan de code ligt het in ieder geval niet, die is goed.
 
Ja, dat zal zo zijn. Helaas zie ik keer op keer dat ik documenten moet herstellen en dat ze niet goed zijn afgesloten, dan sluit ik af en dan staat dat systeemicoontje van het document er nog (bleke icon). Dat sleep ik dan in de prullenbak.
 
Kan je het Word document waarin je die code hebt gezet hier eens plaatsen?
 
Bedankt voor het aanbod. Ik ga dat niet doen. Genoeg tijd ingestopt en ik moet door met mijn werk. Ik probeer juist met dergelijke zaken tijd te besparen maar het tegengestelde gebeurd.
 
Het blijft wel vreemd dat oplossingen die je hier door mij of anderen aangeboden krijgt bij jou vaak niet werken. Ik zou dan graag naar de oorzaak zoeken. Maar goed, dan sluiten we deze af.
 
Er wordt niet verteld vanuit welke applicatie deze code wordt gestart.
 
Vandaar dus mijn verzoek om het verwachte Word document.
 
Terug
Bovenaan Onderaan