Ik ben voor een project bezig om htmlpagina's te kunnen printen zonder lelijke header en footer.
Met een stukje VBscript wordt de pagesetup aangepast.
onUnload wordt de functie ResetPage() aangeroepen om de instellingen terug te zetten.
Nou ben ik niet zo'n held in VB, en laat ik de oude instellingen met een omweg onthouden met de jsfunctie MemorizeHeader(). Is het ook mogelijk om myHeader en myFooter als globale variabelen in de functie SetSettings() aan te maken?
Dat scheelt weer wat in de lengte van het script
Met een stukje VBscript wordt de pagesetup aangepast.
onUnload wordt de functie ResetPage() aangeroepen om de instellingen terug te zetten.
Nou ben ik niet zo'n held in VB, en laat ik de oude instellingen met een omweg onthouden met de jsfunctie MemorizeHeader(). Is het ook mogelijk om myHeader en myFooter als globale variabelen in de functie SetSettings() aan te maken?
Dat scheelt weer wat in de lengte van het script
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| // variabelen initieren var headerOriginal; var footerOriginal; var customSet = false; function MemorizeHeader(myHeader, myFooter) { // oorspronkelijke instellingen onthouden headerOriginal = myHeader; footerOriginal = myFooter; } function ResetPage() { // header en footer resetten naar oorspronkelijke instellingen if (customSet) { ResetSettings(headerOriginal, footerOriginal); } } function PrintPage() { if (!customSet) { SetSettings(); // header en footer customizen customSet = true; } window.print(); // pagina printen } |
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| Sub SetSettings() Dim WSHShell Dim myHeader Dim myFooter Set WSHShell = CreateObject("WScript.Shell") myHeader = WSHShell.RegRead("HKCU\Software\Microsoft\Internet Explorer\PageSetup\header") myFooter = WSHShell.RegRead("HKCU\Software\Microsoft\Internet Explorer\PageSetup\footer") WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\PageSetup\header", "" WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\PageSetup\footer", "" call MemorizeHeader(myHeader, myFooter) End Sub Sub ResetSettings(myHeader, myFooter) Dim WSHShell Set WSHShell = CreateObject("WScript.Shell") WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\PageSetup\header", myHeader WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\PageSetup\footer", myFooter End Sub |
[ Voor 13% gewijzigd door bRight op 28-07-2004 20:14 . Reden: escapes in vbscript gefixed :) ]