|
分類:[C#]
分類:[C#]
OS:WindowsServer2003 言語:C#.net2005
サーバで開発してます。 ローカルでVWD2005でデッバグすると、問題なく、うまく印刷できてからプロセスの中のEXCEL.EXEは消えます。 IISを使って、IPでアクセス(リモート)してみたら、印刷前のことは大丈夫ですが、@印刷ができなくなってしまいます(プリンタプールにまったく入らない)。Aプリント部分をソースを消してやっても、サーバのプロセスの中の全てのEXCEL.EXEは消えません。
なので、ソースの問題ではなく設定の問題じゃないかなぁと考えてます。 何か設定などが必要なのか、どなたかお知恵を拝借できるとありがたいです。
************************** ポイント *************************************************************
EXCELファイルを新規して保存できるため、 IISを設定する時に、ASP.NETバージョン2.0.50727 に設定してます。ASPの構成の設定の中で、アプリケーション→IDの設定に「ローカル偽装」と設定しております。
プリンタのほうに、すべてのユーザにすべての権限を渡してますのに。
以上宜しくお願いします。
************************** ソース ************************************************************
Excel.Application objApp; Excel._Workbook objBook;
Excel.Workbooks objBooks; Excel.Sheets objSheets; Excel._Worksheet objSheet; Excel.Range range;
try { // Instantiate Excel and start a new workbook. objApp = new Excel.Application(); objBooks = objApp.Workbooks;
objBook = objBooks.Open(FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); objSheets = objBook.Worksheets; objSheet = (Excel._Worksheet)objSheets.get_Item(1);
................ ................ ................
//Return control of Excel to the user. objApp.Visible = true; objApp.UserControl = false;
objBook.Save();
//ExcelファイルをDocuWorksファイルにPrintOut objBook.PrintOut(Type.Missing, Type.Missing, 1, false, "Canon LASER SHOT LBP-1810", Type.Missing, Type.Missing, Type.Missing);
System.Runtime.InteropServices.Marshal.ReleaseComObject(range); System.Runtime.InteropServices.Marshal.ReleaseComObject(objSheet); System.Runtime.InteropServices.Marshal.ReleaseComObject(objSheets); System.Runtime.InteropServices.Marshal.ReleaseComObject(objBook); System.Runtime.InteropServices.Marshal.ReleaseComObject(objBooks); objApp.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(objApp); } Catch(Exception theException) { ............ }
|