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

わんくま同盟

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

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


(過去ログ 8 を表示中)
■9288 / )  Re[7]: Excelがフリーズする
□投稿者/ 特攻隊長まるるう 伍長(44回)-(2006/12/18(Mon) 11:45:46)

分類:[VB.NET] 

No9281に返信(廿六木(かなり初心者さんの記事)
# 魔界の仮面弁士さんが書込まれているので、ちょっと少し違った視点を意識して書いてみます。

> 問題箇所も入れて実行したら、プログラム上の「オートフィルタの設定」という箇所と、
> 「ファイルの保存処理」という箇所が実行されておらず、またExcelは閉じるはずなのに、
> 閉じない状態です。
あきひろさんも言われてますが、エラーが起こって例外処理になっているようです。
  xlRange.Value = strDat
でエラーが起こってますかねぇ。。。(?)

> それからExcelを手動で閉じてから、タスクマネージャで確認してもExcel.exeと
> VB.netの実行ファイルも残ったままです。
本来は例外処理が起こっても解放できるように考えられたコードなのですが、
…解放できませんか。。。んー。

> プログラム作成しているパソコンのXPでは問題ないのですが、会社の他のWindows98で実行したところ
> Excel2000です。
Excel のバージョンが違うのは色々と問題が起こり易い。。。

あと、Windows98 って Microsoft .NET Framework の動作保証ありましたっけ?
互換性を考える場合、より下位の環境で開発するのが常識です。
個人的には、[VB.NET]での開発はやめて、[Excel2000 VBA]のマクロによる
プログラムにした方が良いと思います。

[VB.NET]で開発するとして、
最終的に参照設定を外して実行時バインディングにする必要があるかも。。。
# ↑魔界の仮面弁士さんのサンプルコードを参考に。。。
テストの内容を聞くと、エラーの起こるPCでデバッグしていますよね?
その時点でバージョン違いのコンパイルエラーは出たりしなかったですか?

とりあえず、Finally の前に
[VB.NET]
 Catch ex As Exception
  Debug.WriteLine(ex.Message)
等を入れてエラーメッセージを確認してみてください。

セルへの代入でエラーが起こる場合で一番多いのは、代入する値にエラーが
ある場合です。計算式(セル参照式)とか入れていませんか?Excel2000 では
受け付けてくれないデータが無いか?確認してください。

0
返信 編集キー/


管理者用

- Child Tree -