[VB]Rapport in IE afdrukken

Pagina: 1
Acties:

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
Ik heb een Vb-prog wat in eerste instantie een rapport genereert in HTML en een IE-window opent. Dit werkt perfect en zal om zijn eenvoud in het programma moeten blijven zitten (app. wordt wel uitgebreid met CR).

Nu wil ik een checkbox plaatsen in het scherm waar men keuzen kan maken wat aangeeft of het rapport afgedrukt moet worden ja/nee. Ik weet alleen niet hoe. Een OCX binnen mijn applicatie is geen optie en afdrukken met de rechtermuisknop vanuit IE al helemaal niet.

Hoe kan ik dit het beste oppakken ?

Verwijderd

De beste methode is een axWebBrowser control in je app sleuren. Op die manier kan je met OLE commando's een printdialoog/rechtstreeks printen uitvoeren (execwb).

Als je dan nog de marges en pagina headers & footers programmatorisch wil instellen kan dat via een paar wijzigingen in de registry (juiste keys weet ik niet meer, ergens H_LOCAL_MACHINE/SOFTWARE/MICROSOFT/Internet Explorer ofzowiets)

Verwijderd

...of anders steek je gewoon een javascript linkje in je pagina he... (document.print() of iets dergelijks)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op 20 april 2004 @ 09:48:
...of anders steek je gewoon een javascript linkje in je pagina he... (document.print() of iets dergelijks)
Kan wel, maar je gebruiker moet dan alsnog de opdracht bevestigen. Ik ga er even vanuit dat TS dat ook automagisch wil doen.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
met een scriptje krijg ik inderdaad eerst een dialoogscherm. Kan ik dit omzeilen met JS ? 100 maal op OK klikken zullen de gebruikers niet accepteren. Ik zal nog eens iets anders proberen. Iemand nog een idee ?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22:23

NMe

Quia Ego Sic Dico.

pkouwer schreef op 21 april 2004 @ 13:35:
met een scriptje krijg ik inderdaad eerst een dialoogscherm. Kan ik dit omzeilen met JS ?
document.print(); return true misschien? Ik denk het niet eigenlijk, het lijkt me niet dat een javascriptje zomaar zonder toestemming van de gebruiker moet kunnen printen. Een "grappige" webmaster kost zo aardig wat papier... :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Ik weet niet precies of dit nou is wat je wilt, maar met de volgende voorbeeld code kan je via VB een HTML pagina laden en als deze geladen is direct printen.
(Ik heb dit ergens vandaan gekopieerd dus ik weet niet zeker of het werkt.)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Public WithEvents objIE As SHDocVw.InternetExplorer

Private Sub Command2_Click()
    Set objIE = New InternetExplorer
    
    objIE.Navigate "http://www.cnn.com"
    DoEvents
  
End Sub

Private Sub objIE_DocumentComplete(ByVal pDisp As Object, URL As
Variant)
      objIE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
      Set objIE = Nothing
End Sub

De optie OLECMDEXECOPT_DONTPROMPTUSER zou ervoor moeten zorgen dat de user niet lastig gevallen wordt.

[ Voor 9% gewijzigd door Lister op 21-04-2004 22:55 ]


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
het werkt niet helemaal foutloos, maar hier kan ik wel wat mee. Mijn dank is gigantisch !
Pagina: 1