Ho visto molti post per quanto riguarda l'impostazione del vassoio della stampante in C# per il documento word. Ho bisogno di una soluzione per Excel.Impostare il vassoio della stampante quando si stampa il documento excel
Una soluzione migliore, se possibile, per qualsiasi documento. Un qualche tipo di metodo posso passare un percorso di file e il vassoio.
EDIT Finora ho provato quanto segue ma non sono state apportate modifiche visibili nelle impostazioni della stampante.
PrinterSettings ps = new PrinterSettings();
ps.PrinterName = @"\\localhost\HP-4515n";
var dps = ps.DefaultPageSettings;
dps.PaperSource.RawKind = 260;
O
PrinterSettings ps = new PrinterSettings();
ps.PrinterName = @"\\localhost\HP-4515n";
PaperSource psrc = new PaperSource();
psrc.RawKind = 260;
psrc.SourceName = "unknown";
dps.PaperSource = psrc;
EDIT 2
sto hardcoding RawKind poiché il vassoio in qualche modo non mostra nelle papersources.
E attualmente quando stampo ad es. Documento Excel mostro il PrinterDialog, ottenere il nome della stampante selezionata e passarlo alla proprietà della stampante attiva di interoperabilità Excel. Ma ora ho bisogno di stampare una massa di documenti e ho bisogno di impostare la stampante selezionata ed è la proprietà appositamente il vassoio a livello di programmazione.
correlati: http://stackoverflow.com/questions/770230/excel-vba-print-to-specific-printer-tray – Mitch