---
title: "window.print() och ActiveX"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/95050-window-print-och-activex"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "icaaq"
published: "2004-01-16T21:02:08.000Z"
updated: "2005-04-19T09:46:06.000Z"
replies: 12
views: 800
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/95050-window-print-och-activex"
---

# window.print() och ActiveX

## #1 — icaaq, 2004-01-16T21:02Z

Hej.

Jag håller på att göra en intranet-sida där användarna ska få en utskriven kopia av vad dem åstadkommit. Detta löser jag genom att använda 

```
[red]
  <body onload="window.print();self.close()">
[/red]
```

Men för att användaren ska slippa välja skrivare när sidan körs så har jag genom en intensiv letning hittat att man kan installera en ActiveX-komponent i webbläsaren. Jag har dock inte hittat någon komponent i de trådar jag såg. 

Så nu kommer frågan, Är det någon som har en sådan eller vet var jag kan hitta någon???

Det behöver inte vara till just IE bara det är till någon webbläsare.

Mv icaaq

/RED. Nu kanske inte detta var det rätta forumet för detta, men det var här jag hittade de flesta trådarna om just print() och ActiveX.

Permalänk: https://www.webforum.nu/p/95050

## #2 — niko, 2004-01-17T09:55Z

Det finns redan komponenter i de flesta Windowssystem som du kan använda (utnyttja). I min IE med hyfsat normala säkerhetsinställningar kan jag tex (tyvärr) göra så här:

```
<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>
<SCRIPT LANGUAGE="VBScript">
Sub window_onload
	OLECMDID_PRINT = 6
	OLECMDEXECOPT_DONTPROMPTUSER = 2
	WB.ExecWB OLECMDID_PRINT, [b]OLECMDEXECOPT_DONTPROMPTUSER[/b]
end sub
</SCRIPT>
<html><head></head><body>
Ooops! Rakt ut på default-skrivaren!
</body></html>
```

Permalänk: https://www.webforum.nu/p/1253749

## #3 — icaaq, 2004-01-17T11:59Z

Wee......

mv icaaq

Permalänk: https://www.webforum.nu/p/1253796

## #4 — icaaq, 2004-01-18T12:08Z

Ett litet bekymer dock.

Hur gör jag för att stänga fönstret?

mv icaaq

Permalänk: https://www.webforum.nu/p/1254201

## #5 — niko, 2004-01-18T12:47Z

Tja, inte vet jag. Om det är en vanlig pop-up:

```
..
WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
window.close
```

eller menar du att utskriften inte hinner med då? Isåf:

```
..
WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
settimeout "window.close", 5000, "VBScript"
```

En annan variant, som jag kom på sen, är att man kör utskriften från ett osynligt IE-fönster:

```
<script LANGUAGE="VBScript">
set printWin = createobject("InternetExplorer.Application")
printWin.visible = false
printWin.navigate "http://<din intranet-sida>"
do while printWin.busy
loop
printWin.ExecWB 6, 2
settimeout "printWin.quit", 5000, "VBScript"
</script>
```

Hos mig funkar iaf det med default-säkerhetsinställningarna i "Local Intranet Zone".

Permalänk: https://www.webforum.nu/p/1254219

## #6 — icaaq, 2004-01-18T12:59Z

Jag körde på den översta varianten......

mv icaaq

Permalänk: https://www.webforum.nu/p/1254226

## #7 — NBT, 2004-01-22T13:34Z

Hej,

Om jag förstod rätt så skulle följande kodsnutt resultera i att man slapp välja default-printer och utskriften skulle automatiskt skrivas ut på default-printern.

\<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"\>\</OBJECT\>
\<SCRIPT LANGUAGE="VBScript"\>
Sub window_onload
	OLECMDID_PRINT = 6
	OLECMDEXECOPT_DONTPROMPTUSER = 2
	WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
end sub
\</SCRIPT\>
\<html\>\<head\>\</head\>\<body\>
Ooops! Rakt ut på default-skrivaren!
\</body\>\</html\>

Stämmer det?

Permalänk: https://www.webforum.nu/p/1256243

## #8 — niko, 2004-01-22T14:19Z

> Stämmer det?

Ja? Under förutsättning att: du kör IE (4-?) på Windows, scriptning är påslaget, och att sidans URL ligger i en zon i vilka rättigheterna är satta så att du får interagera med signerade activeX-komponenter.

Hos mig duger tex default-inställningarna i "Local Intranet Zone". (Att bara dubbelklicka på en html-sida funkar däremot inte eftersom IE isåf inte kan identifiera sidans URL som en som ligger innanför nätmasken.)

Permalänk: https://www.webforum.nu/p/1256262

## #9 — NBT, 2004-01-23T17:55Z

hejsan. Efter lite trixande och så med rättigheterna så fick jag det att fungera. Tack så mycket för hjälpen!

Permalänk: https://www.webforum.nu/p/1259906

## #10 — CokeLight, 2005-04-18T17:40Z

Hejsan, undrar om någon kan hjälpa mig med detta.

OLECMDEXECOPT_DONTPROMPTUSER = 2

verkar inte ha någon som helst effekt när jag kör.. undrar om någon får det att funka.. (alltså att man kan skriva ut utan att få upp dialogfönstret som ber användaren klicka i vilken printer han/hon vill skriva ut till) och om det gick att köra rakt av eller om viss modifikation krävdes?

skulle vara super om det gick... :)

Permalänk: https://www.webforum.nu/p/1596650

## #11 — mozilla, 2005-04-18T21:28Z

> **Cokelight skrev:**
>
> Hejsan, undrar om någon kan hjälpa mig med detta.
> 
> OLECMDEXECOPT_DONTPROMPTUSER = 2
> 
> verkar inte ha någon som helst effekt när jag kör.. undrar om någon får det att funka.. (alltså att man kan skriva ut utan att få upp dialogfönstret som ber användaren klicka i vilken printer han/hon vill skriva ut till) och om det gick att köra rakt av eller om viss modifikation krävdes?
> 
> skulle vara super om det gick...

 :q 

> **niko skrev:**
>
> Ja? Under förutsättning att: du kör IE (4-?) på Windows, scriptning är påslaget, och att sidans URL ligger i en zon i vilka rättigheterna är satta så att du får interagera med signerade activeX-komponenter.
> 
> Hos mig duger tex default-inställningarna i "Local Intranet Zone". (Att bara dubbelklicka på en html-sida funkar däremot inte eftersom IE isåf inte kan identifiera sidans URL som en som ligger innanför nätmasken.)

> **NBT skrev:**
>
> hejsan. Efter lite trixande och så med rättigheterna så fick jag det att fungera. Tack så mycket för hjälpen!

> **icaaq skrev:**
>
> Wee......
> 
> mv icaaq

Verkar som alla 3 fått det att fungera. Har du kontrollerat säkerhetsinställningarna som niko skriver?

Att göra det utan att ändra inställningar är förhoppningsvis omöjligt. För hur skulle det vara om vem som helst skulle kunna skriva ut reklam eller vad som helst på min skrivare bara för att jag surfar in på deras hemsida

Permalänk: https://www.webforum.nu/p/1596788

## #12 — CokeLight, 2005-04-18T22:37Z

hehe.. absolut, det vore ju galet.. jag glömde bort att det var klientinställningarna som jag också borde kolla nu när jag testar klient-script.. jag har lagt till användare på servern etc. och kört impersonate när jag körde server script... men.. hmm.. vad tycker du.. då måste jag ju gå in i varje browser o ställa in säkerhetsinställningarna där eller...?

Permalänk: https://www.webforum.nu/p/1596805

## #13 — CokeLight, 2005-04-19T09:46Z

Hej mozilla, jo, det funkar bra nu också när jag ändrat browser inställningarna... tack för att du påminde om detta.. hade snöat in mig i att leta efter nåt på servern...

Men nu har jag ett följdproblem, startade en ny tråd

<http://www.webforum.nu/showthread.php?s=&threadid=123867>

eftersom jag inte kan få applikationen att köras som ett "Lokalt intranät"..

Permalänk: https://www.webforum.nu/p/1596887

---

Tråden på webben: https://www.webforum.nu/amne/javascript/95050-window-print-och-activex
