Ciao a tutti... ho trovato online questo codice:che dovrebbe mandare in stampa il contenuto del form sulla stampante selezionata... naturalmente non mi funziona perchè non trova nessuna stampante mentre io ne ho 2 installate. Sapete dirmi l'errore dov'è? Mi va bene anche un altro pezzo di codice che mi dia anche solo l'elenco delle stampanti... poi il resto mi arrangio in un altro modo!codice:' Nomi degli oggetti utilizzati per le varie connessioni Dim objFileSystem, objWSHNet, objStampante ' Caricamento della variabile di verifica sottomissione form strSottomissione = Request.Form("Sottomissione") %> <html><head> <title>Stampa via browser su stampante di rete</title> </head> <body bgcolor="white" text="black"> <h1>Stampa via browser su stampante di rete</h1> <hr> <% ' Verifica se è stato premuto o meno il pulsante di submit ' sul form If strSottomissione = "" Then %> <form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="POST"> <table wdith=90% border="0"> <tr> <td align="right">Stampante selezionata:</td> <td><select name="PercorsoStampante"> <% 'Imposta la connessione all'oggetto WScript.Network Set objWSHNet = CreateObject("WScript.Network") 'Conteggio delle stampanti disponibili Set objStampante = objWSHNet.EnumPrinterConnections IntMaxConn=objStampante.Count if IntMaxConn>0 then for ciclo=0 to IntMaxConn-1 response.write "<option value='" & objStampante.Item(ciclo+1) & "'>" & objStampante.Item(ciclo+1) ciclo=ciclo+1 next else response.write "<option>nessuna" end if %></select></td> </tr> <tr> <td align="right">User-ID:</td> <td><input type="text" name="username" value="<%=strUsername%>"></td> </tr> <tr> <td align="right">Password:</td> <td><input type="password" name="password"></td> </tr> <tr> <td align="right">Testo:</td> <td><textarea rows="4" cols="30" name="Testo"></textarea></td> </tr> <tr> <td align="right" colspan="2"><input type="submit" value="Stampa!" name="Sottomissione"></td> </tr> </table> </form> <% Else ' E' stata effettuata una richiesta e verrà eseguita strPercorsoStampante = Request.Form("PercorsoStampante") response.write strPercorsoStampante strUsername = Request.Form("username") strPassword = Request.Form("password") strTesto = Request.Form("Testo") ' Creiamo gli oggetti necessari per il funzionamento dello script Set objFileSystem = CreateObject("Scripting.FileSystemObject") Set objWSHNet = CreateObject("WScript.Network") ' Connessione alla stampante di rete utilizzando Windows Scripting Host objWSHNet.AddPrinterConnection "LPT1", strPercorsoStampante, False, strUsername, strPassword 'objWSHNet.AddWindowsPrinterConnection "HP" ' Apriamo la stampante come se si trattasse di un puro e semplice file. Set objStampante = objFileSystem.CreateTextFile("LPT1:", True) ' Mandiamo il testo da stampare come se si trattasse di una semplice ' scrittura su file. objStampante.Write(strTesto) ' Chiudiamo la connessione ed in caso di errore facciamo passare ' lo script alla successiva istruzione. On Error Resume Next objStampante.Close ' Nel caso qualcosa non sia andato per il verso giusto, facciamolo ' sapere al nostro utente If Err Then Response.Write ("Errore # " & CStr(Err.Number) & " " & Err.Description) Err.Clear Else ' Operazione riuscita con successo. Response.Write(" E' stato stampato il seguente testo: ") Response.Write("<pre>" & strTesto & "</pre></p>") Response.Write(" Percorso della stampante di rete: ") Response.Write( strPercorsoStampante & "</p>") Response.Write(" Login ID: ") Response.Write( strUsername & "</p>") End If ' Rimuoviamo la connessione objWSHNet.RemovePrinterConnection "LPT1:" ' Scarichiamo gli oggetti usati dalla memoria Set objWSHNet = Nothing Set objFileSystem = Nothing Set objStampante = Nothing End If %> </body></html>
Faccio notare che ho una stampante USB ed una LPT, ma vorrei avere anche l'elenco di quelle messe in rete... anche se per adesso non ne ho
Ciao