Thomas Grötzner: Drucken von Webseite und Excelsheets

Beitrag lesen

Hallo Forum,

ich muss folgendes machen: An einer Webseite hängen x Excel-Sheets dran die in einer Liste (select) aufgeführt sind. Wenn der Benutzer nur einen Druck-Button klickt soll sowohl die Webseite als auch die Excel-Sheets gedruckt werden.

Im Prinzip hab ich das auch hingekriegt aber mit 3 noch offenen Problemen. Aktuell geht es so:

  • Benutzer klickt
  • Druckdialog und ein Dialog der fragt ob ActiveX ok ist kommen hoch
  • Wenn beide bestätigt werden werden sowohl die Website als auch die Sheets an den Standarddrucker geschickt

Probleme sind nun:

1. Wenn im Druckdialog ein anderer Drucker gewählt wird kommt die Website dort raus aber die Excel-Sheet kommen auf dem Standarddrucker raus. Kann ich irgendwie den Drucker von dem Druckerdialog an Excel übergeben?

2. Wenn der Druckdialog mit cancel abgebrochen wird werden die Excel-Sheets trotzdem gedruckt. Wie kann ich das verhindern?

3. Die Vorschau zeigt natürlich nur die Seite. Krieg ich da meine Excel-Sheets irgendwie mit rein? Vermute mal dass dies nicht geht aber das wäre auch nicht so schlimm.

Hier noch der Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
      <script type="text/javascript">
         <!--
            function Go(url) {
               parent.location.href = url;
            }

function Drucken() {
               window.print();

var excelApp = new ActiveXObject("Excel.Application");
               var i;
               for (i=0; i < document.Form1.lstMatrix.length; i++) {
                  var sheet = document.Form1.lstMatrix.options[i].value
                  excelApp.Workbooks.Open(sheet, 2, false);
                  excelApp.visible = false;
                  excelApp.ActiveWorkbook.PrintOut();
                  excelApp.ActiveWorkbook.Close();
               }
            }
         //-->
      </script>
 </HEAD>
 <body>
  <form name="Form1" method="post" action="StreamDisplay.aspx">
         <select name="lstMatrix" size="4" id="lstMatrix" onClick="Go(document.Form1.lstMatrix.options[document.Form1.lstMatrix.options.selectedIndex].value)">
            <option value="http://dokumentmussesgeben.de/testsheet.xls">Testsheet 1</a></option>
            <option value="http://dokumentmussesgeben.de/testsheet2.xls">Testsheet 2</a></option>
         </select>
         <br />
         <form><input type="button" value="Seite Drucken" onClick="Drucken()"></form>
  </form>
 </body>
</HTML>

Ciao
Thomas Grötzner

--
Signatur? Was ist das?