C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: VB.NET Excelを使った印刷で固まる


(過去ログ 106 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■63524 / inTopicNo.1)  VB.NET Excelを使った印刷で固まる
  
□投稿者/ ととろ (1回)-(2012/09/04(Tue) 13:34:21)

分類:[VB.NET/VB2005 以降] 

開発環境;Windows XP、Visual Studio 2010、WPF、、MicroSoft Excel 2010
実行環境;Windows XP(SP3)、NECのFC98-NX、MicroSoft Excel 2010、メモリ2GB

特定のターゲットマシン(3台)で、Excelオブジェクトを使用して、印刷を行おうとすると、
Books.Openからアプリに帰ってこないで、CPU占有率100%になって、固まってしまいます。
メモリのフリースペースは、1GB程度あり、メモリ不足ではないようです。

同じアプリのexeを、開発環境のWindowsXPやWindowsServer2008で実行しても、固まる現象
は発生しません。

ターゲットマシンでの動作は、以前は問題なかったのに、印刷に関与しないある改造を
行ったあたりから、現象が出始めました。ただ、古いexeに戻しても、現象が解消しない
ので、行き詰っています。

OSの再セットアップしか手がないのでしょうか?
何でもいいので、アドバイスください。
引用返信 編集キー/
■63525 / inTopicNo.2)  Re[1]: VB.NET Excelを使った印刷で固まる
□投稿者/ shu (62回)-(2012/09/04(Tue) 14:02:43)
No63524 (ととろ さん) に返信

> 特定のターゲットマシン(3台)で、Excelオブジェクトを使用して、印刷を行おうとすると、
> Books.Openからアプリに帰ってこないで、CPU占有率100%になって、固まってしまいます。
> メモリのフリースペースは、1GB程度あり、メモリ不足ではないようです。
>
セキュリティ警告のダイアログが表示されている状態になっているとか。

引用返信 編集キー/
■63527 / inTopicNo.3)  Re[2]: VB.NET Excelを使った印刷で固まる
□投稿者/ ととろ (2回)-(2012/09/04(Tue) 14:25:36)
No63525 (shu さん) に返信
> ■No63524 (ととろ さん) に返信
>
>>特定のターゲットマシン(3台)で、Excelオブジェクトを使用して、印刷を行おうとすると、
>>Books.Openからアプリに帰ってこないで、CPU占有率100%になって、固まってしまいます。
>>メモリのフリースペースは、1GB程度あり、メモリ不足ではないようです。
>>
> セキュリティ警告のダイアログが表示されている状態になっているとか。
>

何か、とても気になるアドバイスですね。
ExcelBookオープンで、セキュリティ警告が出る場合って、どんな時でしょうか?

実は、ターゲットマシンは、インターネット接続環境になく、複数台のコンピュータ
LANの閉環境にあります。
Windowsの自動更新の設定がされたままで、イベント・ログにエラーが記録
され続けていたので、自動更新を「無効」にした経緯があります。

何か係わりがありますか?
引用返信 編集キー/
■63531 / inTopicNo.4)  Re[3]: VB.NET Excelを使った印刷で固まる
□投稿者/ shu (64回)-(2012/09/04(Tue) 15:52:17)
No63527 (ととろ さん) に返信
>
> 何か、とても気になるアドバイスですね。
> ExcelBookオープンで、セキュリティ警告が出る場合って、どんな時でしょうか?
>
マクロがくっついていて確認するための画面を想定して書きました。


> 実は、ターゲットマシンは、インターネット接続環境になく、複数台のコンピュータ
> LANの閉環境にあります。
> Windowsの自動更新の設定がされたままで、イベント・ログにエラーが記録
> され続けていたので、自動更新を「無効」にした経緯があります。
>
> 何か係わりがありますか?
Excelプロセスのロックはされないと思うのであまり関係ないとは思いますが、状況を
変えてみてはどうでしょう?

引用返信 編集キー/
■63533 / inTopicNo.5)  Re[1]: VB.NET Excelを使った印刷で固まる
□投稿者/ 魔界の仮面弁士 (52回)-(2012/09/04(Tue) 16:31:31)
No63524 (ととろ さん) に返信
> 開発環境;Windows XP、Visual Studio 2010、WPF、、MicroSoft Excel 2010
> 実行環境;Windows XP(SP3)、NECのFC98-NX、MicroSoft Excel 2010、メモリ2GB

MicroSoft ではなく
Microsoft ですね。
(略称として MSFT や MS と呼ぶことはありますが)


> Excelオブジェクトを使用して、印刷を行おうとすると、
印刷時に、Excel オブジェクトは Visible = True にしてありますか?
それとも非表示状態での運用でしょうか?


> Books.Openからアプリに帰ってこないで、
Process.Start を使ってエクセルファイルを開くことはできますか?
単独で開けるなら、それを ROT あるいは GetObject で後追いで拾う事で
暫定回避できるかもしれません。


> CPU占有率100%になって、固まってしまいます。

CPU100% ということですが、CPU負荷を与えているプロセスは何でしょうか。
VB2010 製の exe ですか? それとも Excel ですか? あるいはセキュリティ対策ソフト?


動作不良を引き起こすのは、Workbooks.Open の時だけですか?
Workbooks.Add で新規ファイルを作成しようとしても固まりますか?
もしも Open だけだとしたら、特定のファイルだけで固まりますか?
それとも、どのようなファイルであっても固まりますか?

もしも特定ファイルなら、印刷対象の Excel ファイル自体の破損も考えられます。
多少破損したぐらいならば、マイナーバージョンあるいは
メジャーバージョンの異なる Excel では偶然読めてしまい、
開発環境では再現しなかったということかも知れませんし。


あとは、一部のコンポーネントが未インストールの状態になっていて、
何らかの理由で、そのコンポーネントのインストールが始まってしまい、
インストールディスクを要求するダイアログが、背後に表示されていたとか。
それで 100% 占有してしまうかは疑問ですが…。



> 何でもいいので、アドバイスください。

もしかしたら、元ファイルにゾーンID でもくっ付いていて、
保護されたビュー(Embedding)になっているのかとも思いましたが、
手元の環境では、それで固まることはありませんでした。
http://officetanaka.net/excel/excel2010/017.htm


Excel 本体側に、何か追加のアドインはロードされていますか?
念のため、各種アドインを外した状態でテストしてみてください。


Process Monitor で追跡したときに、問題のある環境と安定環境とで
Open 前後の処理で、何か動きに違いは見られますか?
(追跡したところで、何かが分かるとも思えませんが、一応…)
引用返信 編集キー/
■63535 / inTopicNo.6)  Re[2]: VB.NET Excelを使った印刷で固まる
□投稿者/ ととろ (3回)-(2012/09/04(Tue) 17:03:09)
No63533 (魔界の仮面弁士 さん) に返信
> ■No63524 (ととろ さん) に返信
>>開発環境;Windows XP、Visual Studio 2010、WPF、、MicroSoft Excel 2010
>>実行環境;Windows XP(SP3)、NECのFC98-NX、MicroSoft Excel 2010、メモリ2GB

詳細なアドバイス有難うございます。

>
> MicroSoft ではなく
> Microsoft ですね。
> (略称として MSFT や MS と呼ぶことはありますが)
>
>
>>Excelオブジェクトを使用して、印刷を行おうとすると、
> 印刷時に、Excel オブジェクトは Visible = True にしてありますか?
> それとも非表示状態での運用でしょうか?

Visible=Falseとしています。


>
>
>>Books.Openからアプリに帰ってこないで、
> Process.Start を使ってエクセルファイルを開くことはできますか?
> 単独で開けるなら、それを ROT あるいは GetObject で後追いで拾う事で
> 暫定回避できるかもしれません。
>
>
>>CPU占有率100%になって、固まってしまいます。
>
> CPU100% ということですが、CPU負荷を与えているプロセスは何でしょうか。
> VB2010 製の exe ですか? それとも Excel ですか? あるいはセキュリティ対策ソフト?
>

ProcessMonitorで見ていると、Excelが立ち上がって、一時的に、ExcelのCPUタイム
が80%〜100%が数秒続き、その後、0%近くまで下がります。
ExcelのCPU占有率が下がるのと、引き換えに、VB2010製アプリのCPU占有率が100%に
なります。

>
> 動作不良を引き起こすのは、Workbooks.Open の時だけですか?
> Workbooks.Add で新規ファイルを作成しようとしても固まりますか?
> もしも Open だけだとしたら、特定のファイルだけで固まりますか?
> それとも、どのようなファイルであっても固まりますか?
>
> もしも特定ファイルなら、印刷対象の Excel ファイル自体の破損も考えられます。
> 多少破損したぐらいならば、マイナーバージョンあるいは
> メジャーバージョンの異なる Excel では偶然読めてしまい、
> 開発環境では再現しなかったということかも知れませんし。
>

特定のファイルでしか確かめていませんが、当該ファイルを
直接、Excelを使用して開くことはできます。

>
> あとは、一部のコンポーネントが未インストールの状態になっていて、
> 何らかの理由で、そのコンポーネントのインストールが始まってしまい、
> インストールディスクを要求するダイアログが、背後に表示されていたとか。
> それで 100% 占有してしまうかは疑問ですが…。
>

shuさんもおっしゃっている様に、確かに、裏で何かを待ってる様な
感じがしますが、タスクバーには、何もあらわれません。
Visible=Falseでは、ダイアログまで、表示されなくなりますか?

>
>
>>何でもいいので、アドバイスください。
>
> もしかしたら、元ファイルにゾーンID でもくっ付いていて、
> 保護されたビュー(Embedding)になっているのかとも思いましたが、
> 手元の環境では、それで固まることはありませんでした。
> http://officetanaka.net/excel/excel2010/017.htm
>
>
> Excel 本体側に、何か追加のアドインはロードされていますか?
> 念のため、各種アドインを外した状態でテストしてみてください。
>

格別なアドオンはしていません。
試みに、Excelの再インストールを行っても、状況は変わりません
でした。

>
> Process Monitor で追跡したときに、問題のある環境と安定環境とで
> Open 前後の処理で、何か動きに違いは見られますか?
> (追跡したところで、何かが分かるとも思えませんが、一応…)

実は、プログラム中の印刷処理部分だけを取り出したテストプログラム
を作成して実行すると、こちらは、同一環境で正常に動作します。
本来のアプリに組み込んで実行した場合だけ、問題が発生します。
WPFとの相性とか、ですかね?

問題のexeを、別の環境(WindowsServer2008)に持っていったり、
別のWindowsXPマシンで実行すると、動くというのが、不思議なんです。

取りあえず、Visible=Trueにして、何が出るか確認してみます。
ターゲットマシンが、遠隔地なので、結果を持って、また、ご相談します。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -