PDA

Visualizza la versione completa : [DELPHI] PrintDialog per selezione stampante per Excel


Ned Hanster
25-06-2007, 16:31
ciao a tutti...
ho un altro piccolo problema.. ora riesco a stampare quello che voglio, ma sempre e solo sulla stampante predefinita, e nn riesco a cambiare la stampante, xke nn capisco dove si legge la stampante selezionata dall'utente... mi spiego meglio:


var stampante:TPrinter;
.
.
.
if PrintDialog.Execute
then begin
stampante:= PrintDialog. ??? //<--- nn so cosa mettere
ExcelAppl.ActivePrinter:=stampante;


se c'è qlc1 ke può aiutarmi lo ringrazio di cuore....
ciao :ciauz:

alka
25-06-2007, 17:01
Il componente TPrintDialog dovrebbe avere un PrinterIndex con la stampante selezionata, se non ricordo male.

Prova ad assegnare quel valore.

Ned Hanster
25-06-2007, 17:13
Originariamente inviato da alka
Il componente TPrintDialog dovrebbe avere un PrinterIndex con la stampante selezionata, se non ricordo male.

Prova ad assegnare quel valore.

quello è l'INDICE della stampante selezionata, che si trova nella lista printdialog.printer, quindi, x ovvia logica, vado a scrivere stampante:=printdialog.printer[printdialog.printerindex]; ma invece la cosa non funziona...
ora provo cmq a controllare meglio che non mi sia sfuggita qualche istruzione...

alka
25-06-2007, 17:59
Originariamente inviato da Ned Hanster
quello è l'INDICE della stampante selezionata
...e penso che sia quello il dato che devi impostare. :stordita:

Ned Hanster
26-06-2007, 08:24
Originariamente inviato da alka
...e penso che sia quello il dato che devi impostare. :stordita:

OK, su questo hai ragione... ma da questa cosa sorge un altro problemuccio...
Non è la printer dialog ad avere la proprieta printerIndex, ma le variabili di tipo TPrinter, allora io scrivo:


var stampante:TPrinter;


if printdialog.Execute
then begin
stampante.PrinterIndex:=printerdialog. //<-- e neppure qua non so che mettere
ExcelAppl.ActiveWindow.SelectedSheets.PrintOut;
end;


sta diventando un circolo vizioso...

Ned Hanster
26-06-2007, 08:24
scusa o sbagliato a mettere questo post

alka
26-06-2007, 12:06
Originariamente inviato da Ned Hanster
OK, su questo hai ragione... ma da questa cosa sorge un altro problemuccio...
Non è la printer dialog ad avere la proprieta printerIndex, ma le variabili di tipo TPrinter, allora io scrivo [...]

Quello che intendevo io era assegnare il valore di Printer.PrinterIndex alla proprietà di Excel.

Ned Hanster
26-06-2007, 15:05
Originariamente inviato da alka
Quello che intendevo io era assegnare il valore di Printer.PrinterIndex alla proprietà di Excel.

bella idea... ma purtroppo quando la provo mi da un errore...
vabbè fa lo stesso, vuol dire che userò la stampante predefinita, tanto non è necessario che io possa cambiare stampante, era solo una comodità in più...

cmq grazie mille della disponibilità...

Sciao :ciauz:

Loading