rieccomi... ora ho anche il codice...
codice:
Option Explicit
Private objWord As Word.Application
Public Function stampa(stampante As String, url As String, copie As Integer)
On Error Resume Next
Set objWord = New Word.Application
Dim objDoc As Word.Document
Set objDoc = objWord.Documents.Open(url)
objWord.ActivePrinter = stampante
objWord.PrintOut Background:=False, Copies:=copie
objDoc.Close
objWord.Quit
Set objWord = Nothing
stampa = "Stampa riuscita su " + stampante
If Err.Number <> 0 Then
objWord.Quit
Set objWord = Nothing
stampa = "Stampa non riuscita su " + stampante + "
Descrizione Errore: " + Err.Description
End If
End Function
Public Function getPrinter()
Dim str As String
Dim pr As Printer
str = ""
For Each pr In Printers
str = str + pr.DeviceName + "§"
Next
If Len(str) > 1 Then
str = Left(str, Len(str) - 1)
Else
str = "NESSUNA STAMPANTE"
End If
getPrinter = str
End Function
Questo è il codice della mia DLL
Il codice PHP non fa altro che riempire dei bookmark e poi salvare il file che verrà poi richiamato dalla DLL e mandato in stampa. Ho notato però che ci sono dei problemi:
- il foglio di word vuoto tende a bloccare tutto se viene aperto da più utenti (probabilmente si blocca all'avviso di sola lettura)
- il processo è molto lungo perchè apro word scrivo il foglio, poi lo chiudo e riapro word da DLL per la stampa.
Sapete aiutarmi a fare tutto tramite DLL? e che non si pianti se 2 utenti aprono lo stesso file per compilare i campi?
Grazie