Foutcode 4608; waarde buiten bereik

Status
Niet open voor verdere reacties.

FennieO

Gebruiker
Lid geworden
23 mrt 2020
Berichten
7
Voor een document met verschillende sectie-overgangen en verschillende pagina-formaten wil ik een macro maken zodat het gehele document op een bepaald soort papier geprint wordt.
De volgende macro heb ik nu gemaakt en deze geeft dus een foutmelding. Naar ik begrijp uit andere forumberichten ligt dit aan de sectie-overgangen. Maar hoe kan ik de macro zodanig aanpassen dat het document in zijn geheel op het juiste papier geprint wordt zonder dat er veranderingen optreden in kantlijnen en papierformaat?
 

Bijlagen

  • fout 4608.png
    fout 4608.png
    32,2 KB · Weergaven: 71
Op welke regel krijg je de foutmelding? Post anders eens een documentje, dan kunnen we zien waar het fout gaat.
 
OctaFish zei:
Op welke regel krijg je de foutmelding? Post anders eens een documentje, dan kunnen we zien waar het fout gaat.

Hieronder de macro met de plek waar het fout gaat:
Sub printerbakkenopblancoenprinten()
'
' printerbakkenopblancoenprinten Macro
' printerbakken op blanco en printen
'
With ActiveDocument.Styles(wdStyleNormal).Font
If .NameFarEast = .NameAscii Then
.NameAscii = ""
End If
.NameFarEast = ""
End With
With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.FirstPageTray = 261
.OtherPagesTray = 261
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _
wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _
PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
End Sub
 
Dat kan hopelijk wel, maar het is handiger als je een documentje post.
 
Hierbij het document met daarin de macro

De macro werkt dus wel wanneer het om 1 papierformaat gaat. Het gaat fout wanneer staand en liggende pagina's in 1 document aanwezig zijn.
Het bestand is nu een Word-document met ingeschakelde macro's. Het Word-sjabloon kon ik niet uploaden.
 

Bijlagen

  • nieuw2020 Fennies - kopie.docm
    37,5 KB · Weergaven: 30
Naar ik begrijp uit andere forumberichten ligt dit aan de sectie-overgangen.
Nee dus. Er zit iets fout in je document, en derhalve ook in de onderliggende sjabloon. Wat, kan ik helaas nog niet achterhalen. Om te beginnen heb ik de macro zelf ook nog even opnieuw opgenomen, omdat ik ongetwijfeld een andere printer heb als jij. Daar kwam een bijna identieke macro uit overigens, dus ik ging er in eerste instantie vanuit dat jouw macro bij mij dus wél zou werken. Helaas, pindakaas. Werkte dus óók niet. Jij gaf aan dat hij foutliep bij de regel .LineNumbering, en dat doet-ie bij mij dus ook. Sterker nog: mijn eigen macro stopt daar dus óók, met dezelfde foutmelding. Nu maak ik er altijd een gewoonte van om bij opgenomen macro's de regels die ik niet nodig heb weg te gooien, en dat zou in dit geval dus ook het beste zijn. Dus ik zet een quootje voor de regel .LineNumbering en druk op <F8>. Volgende regel, zelfde foutmelding. Kortom: het probleem zit 'm niet in de LineNumbering.

Vervolgens een nieuw document gemaakt, dummy tekst er in, paar secties er in gegooid, oriëntatie liggend en staand gebruikt, en macro weer laten lopen (volledig deze keer). Geen probleem! Ook mijn eigen macro geen probleem. Vervolgens jouw tabellen gekopieerd naar mijn document: geen probleem! Vervolgens dus gaan kijken waar bij jou een probleem zou kunnen zitten, en daar zit ik dus nu nog steeds: ik kan op het eerste gezicht niks vinden. Maar ik vermoed dus dat er ergens in je document iets staat wat de hele handel blokkeert. Overigens is één regel van jouw macro dodelijk voor je indeling:
Code:
    With ActiveDocument.PageSetup
        .LineNumbering.Active = False
[B][COLOR="#FF0000"]        .Orientation = wdOrientPortrait
[/COLOR][/B]        .FirstPageTray = 261
        .OtherPagesTray = 261
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .VerticalAlignment = wdAlignVerticalTop
        .SuppressEndnotes = False
        .MirrorMargins = False
        .TwoPagesOnOne = False
        .BookFoldPrinting = False
        .BookFoldRevPrinting = False
        .BookFoldPrintingSheets = 1
        .GutterPos = wdGutterPosLeft
    End With
Hiermee gooi je dus alle liggende secties alsnog om naar staande. Lijkt mij niet de bedoeling! Sowieso kunnen, als ik zo naar de macro kijk, al die regels weg, want die heb je helemaal niet nodig.

Code:
    With ActiveDocument.PageSetup
        .FirstPageTray = 261
        .OtherPagesTray = 261
    End With
Zou al genoeg moeten zijn om de trays vast te leggen.

Mijn advies? Begin overnieuw met een leeg document, plak daar alle noodzakelijke teksten opnieuw in (niet met <Ctrl>+<a>,<Ctrl>+<c>,<Ctrl>+<v> want dan ben je net zo ver van huis, maar in blokken dus) en kijk dan wat er gebeurt. Wil je testen met een dummy document, volg dan de volgende stappen:
1. Typ in een leeg document de tekst =Rand(14,6) en druk op <Enter>. Je krijgt nu dummy tekst.
2. Selecteer een deel van de tekst (een paar alinea's), en ga naar het menu <Pagina-instelling>.
3. Kies bij <Marges>: Liggend, en bij <Toepassen op>: Geselecteerde tekst en klik op <OK>
4. Laat je macro lopen. Liefst met <F8>, zodat je kunt zien bij welke regels het goed gaat, en bij welke hij stopt. Als hij stopt, ik denk namelijk van niet :).

Ik probeer de oorzaak nog wel even te achterhalen, maar de kans daarop is niet heel groot. Maar je weet het nooit.
 
Top! Dankjewel. Ik ga dat uitproberen. Probleem met het document waarbij het niet werkt, is dat het van iemand anders komt en het de bedoeling is dat ik het uitprint.
En volgens mij is het een soort sjabloon dat ze hiervoor gebruiken, dus dat probleem zal dan met dit soort documenten blijven.
 
Wat heb je precies gedaan? Altijd handig voor de meelezers :).
 
Macro werkt nu

De macro voor het printen heb ik opnieuw gemaakt met behulp van de dummy-tekst. Het printen hiervan ging goed. Daarna heb ik het document waarbij het printen een foutmelding gaf, in een nieuw document geplakt. Dat heb ik gedaan door het stukje bij beetje over te zetten. Het waren grotendeels tabellen, dus moesten de tabellen stuk voor stuk overgezet worden. Daarna moest ik nog wel het lettertype aanpassen. Daarna de pagina's die liggend moesten zijn geselecteerd en liggend gemaakt. En toen al duimen draaiend de macro opnieuw uitgevoerd. En dat ging dus goed. De pagina's die liggend moesten zijn, kwamen er keurig liggend uit. Heel erg bedankt voor deze oplossing.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan