"Miran" wrote:
Hi,
I have an xls file i would like to printout from my application. So far i
have found this example for printing in general
Process pr = new Process();
pr.StartInfo.FileName = "MyFile.xls";
pr.StartInfo.CreateNoWindow = true;
pr.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
pr.StartInfo.Verb = "Print";
pr.Start();
pr.WaitForExit();
pr.Dispose();
this prints good but the problem i would like to hide excel from the user or
find an alternative way to print the file, without user being aware of any
other processes except printing, any ideas or help i greatly appreciated
You could use COM interop and Excel object model to set Application.Visible
to false, open the file you want and print it:
using System;
using System.Reflection;
using Microsoft.Office.Interop.Excel;
class XLPrintTest
{
static void Main()
{
Application ExcelApp = new Application ();
ExcelApp.Visible = false;
ExcelApp.DisplayAlerts = false;
Workbook WBook = ExcelApp.Workbooks.Open
", Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value);
WBook.PrintOut (Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value);
WBook.Close (false, Missing.Value, Missing.Value);
ExcelApp.Quit ();
}
}
--
urkec