DOBON.NET DOBON.NETプログラミング掲示板過去ログ

C#.netからExcel経由での印刷ができない

環境/言語:[C#]
分類:[ASP.NET]

2006/09/27(Wed) 16:14:15 編集(投稿者)

解決できました!
ありがとうございました!!!
この投稿はマルチポストです。

●マルチポストされている場所
http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=6858

----------
この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのマナーについて」をお読みください。

●書き込みのマナーについて
http://dobon.net/vb/bbs/index.html
この投稿はマルチポストです。

●マルチポストされている場所
http://vsug.jp/tabid/63/forumid/45/view/topic/postid/6426/Default.aspx

----------
この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのマナーについて」をお読みください。

●書き込みのマナーについて
http://dobon.net/vb/bbs/index.html
■No17696に返信((報告)さんの記事)
> この投稿はマルチポストです。
>
> ●マルチポストされている場所
> http://vsug.jp/tabid/63/forumid/45/view/topic/postid/6426/Default.aspx
>
> ----------
> この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのマナーについて」をお読みください。
>
> ●書き込みのマナーについて
> http://dobon.net/vb/bbs/index.html
解決済み!
■No17704に返信(UFOさんの記事)

マルチポスト先と同じように、ここにも結果を書いてくださいね。

というわけで解決済みを外してみるテスト。
■No17708に返信(ぽぴ王子さんの記事)
> ■No17704に返信(UFOさんの記事)
>
> マルチポスト先と同じように、ここにも結果を書いてくださいね。
>
> というわけで解決済みを外してみるテスト。
printerの問題でした
解決済み!
■No17710に返信(UFOさんの記事)

プリンタの問題?
んー、もうちょっと説明してもらえるとありがたいのですけど…
いや強制じゃないので、別に無理にとは言いませんが。

でも編集機能を使って質問内容を消すのはイクナイですね。

というわけでマルチポスト先からコピーしてきた。

-------------------------------------------------------------------------------
分類:[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)
{
............
}
-------------------------------------------------------------------------------
解決済み!
ぽぴ王子さんが No17711 の投稿で No17691 の投稿で削除された内容(と同じと思われるもの)を書き込んでくださいましたが、型どおりの注意をUFOさんにさせていただきます。

この掲示板では返信のある投稿は削除できないようになっています。その理由は、削除されてしまうと返信が何についていっているのか分からなくなってしまうからです。今後はこのような自分勝手な行為はやめていただけますように、お願いいたします。

DOBON.NET | プログラミング道 | プログラミング掲示板