Puedes probar con algo del estilo a:
Código Delphi
[-]
ExcelApp.ActivePrinter[0] := 'Canon Bubble-Jet BJC-4200 on LPT1:';
Otra opción es vía proipiedades:
Código Delphi
[-]
ExcelApp.OlePropertySet('ActivePrinter', szPrinterName);
Otra cosa, ¿has probado a pasarle el valor de la impresora en la propia insrucción PrintOut? Uno de los parámetros es ActivePrinter.
expression.
PrintOut(From,
To,
Copies,
Preview,
ActivePrinter,
PrintToFile,
Collate,
PrToFileName)