- - PR -
ASP.NET のエクセル操作でエクセルが表示しなくなる
投稿者 | 投稿内容 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-12-08 14:15
はじめて質問させていただきます。
ASP.NET で VB 側でエクセルの作成を以下のように行っているのですが、 作成したエクセルファイルが表示できなくなってしまいます。 原因などお分かりでしたらよろしくご教示くださいませ。 ※私自身、VB等でのエクセル操作等は問題なくできるレベルなのですが、 .NET系 をはじめてまもなく、まだあまりわかっていないので 用語等おかしいかもしれません・・・。 <環境> Windows XP SP2 MS Visual Studio 2005 Microsoft Excel 2000 クライアントサイド : ASP.NET サーバサイド : VB.net <処理> ※エクセルにかかわる処理以外は省略しています。 xlApp = CreateObject("Excel.Application") xlBook = xlApp.Workbooks.Add("c:\tameshi.xls") xlSheet = xlBook.Worksheets("一覧") xlApp.DisplayAlerts = False xlApp.Visible = false ' addなので不要なはずだが一応・・・ ' データ行の表示 Using db As DbConnection = factory.CreateConnection() Do While reader.Read strTmp = Trim(reader.Item("TID").ToString) Loop End Using xlBook.SaveAs("c:\tameshi_data.xls") xlBook.Close() xlApp.Quit() xlSheet = Nothing xlBook = Nothing xlApp = Nothing <現象> ・作成されたエクセルを Windows Explorer から起動すると、 エクセルのタイトルバー(一番上の緑の枠)のみ 表示され中身が見えない。(別ウィンドウが透けて見える) ・Visual Studio 起動中は、実行中でも終了させても見えない。 ・Visual Studio を終了させると問題なく見える。 足りない情報はご指摘くださいませ。 どうぞよろしくお願い致します。 | ||||||||||||||||||||||||
|
投稿日時: 2006-12-08 14:25
ココはもう見ましたか?
| ||||||||||||||||||||||||
|
投稿日時: 2006-12-08 14:36
ありがとうございます!
見てみましたが、プロセスが残る、といったような記事は見つかりましたが、表示自体がおかしくなる記事は見つけられませんでした。 | ||||||||||||||||||||||||
|
投稿日時: 2006-12-08 14:48
Excel2000だし、これの現象と似てないか? http://support.microsoft.com/kb/417245/ja | ||||||||||||||||||||||||
|
投稿日時: 2006-12-08 14:57
クライアント サイド : ASP.NET? サーバーサイド : VB.NET? ASP.NET はテクノロジで、VB.NET は言語だと思いますし、内容も誤っていると思います。
ただし、怖いことをやっているのは事実ですよ。
ここで、COM ラッパーオブジェクト参照の取り忘れがあります。
GC に頼る前に、ReleaseComObject メソッドで参照カウントを解放しましょう。 それと、ASP.NET で Office PIA を利用するのは、いろんな意味で危険であると言っておきます。
確認ですが、Internet Explorer ではないのですか? Internet Explorer であれば、未記入さんのリンク先そのものの可能性が高いです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||||||||||
|
投稿日時: 2006-12-08 15:12
未記入さん>
若干操作は違いますが(最初にInternetExplorerでは表示していない)、.NET での操作がInternetExplorerで表示したのと同じことになっているのかもしれません。 じゃんぬねっとさん> 今回、何の勉強時間もないまま既存のソースをまねて作っているので全然分かってないですね・・・。エクセル操作くらい簡単、と思っていたのですが・・・。 (実際操作は簡単ですが、仰る様に .NET での操作は危険らしいですし、こういった問題もあって進みません・・・) みなさんが書いていただいた内容を参考に、もう少し試してみます。 ありがとうございました! | ||||||||||||||||||||||||
|
投稿日時: 2006-12-08 15:27
とのことですので、.NET からマクロを起動し、マクロから実行してみてはいかがでしょうか? ただ、VBA も Office PIA からの操作も基本は同じハズですけどね。 この方法の利点は、今よりは安全になるという点ですね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||||||||||
|
投稿日時: 2006-12-08 19:51
じゃんぬねっとさん>
そんな手もあるんですね! 初めての書き込みでしたが、皆さん早くて親切にお答え頂いて嬉しいです。 ありがとうございました! |