- 締切済み
コンポーネントが利用できない…。
Excelファイルを開いて内容を編集し、csvファイルとして保存するというプログラムを作っていますが、 コンバート中に「コンポーネントを使用できません」というタイトルのエラーが発生します。 内容は「他のアプリがサーバーを使用しているため、この操作を完了できません」というもの。 しばらくほうっておくと、再び動くことがあったり動かなくなったりです。 原因や対処方法がわかる方、いらっしゃいますでしょうか? ちなみにプログラムのソース、編集するEcxelなどは全てローカルディスクに存在します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mnabe
- ベストアンサー率33% (427/1283)
回答No.1
VBのバージョンは? SPの適用状況は? Excelのバージョンは? SRの状況は? また、動作させたいOSは? また、エラーになる部分のソースコード位は公開して下さい。上記の質問ですと、回答はこうなります。 --- 私の所では、VB6.0(SP3)とExcel97(SR1)で、NT4.0(SP6a)配下で、エラーにならないで使用出来ます。 ---- 対処方法は、CSVファイルならグリッドコントロールを使用して作った方が高速で安定して動くと思いますけどね。 コンバート中ってなに? エラーメッセージからの推測自分自身で作成したexcelオブジェクトが邪魔をして、コンバートって機能が使用出来ない状態になっていると思われます。オブジェクトの生成タイミングと解放タイミングを調べてみて下さい。
補足
申し訳有りません。 VB6.0(SP4)とExcel97(SR-1)で、OSはwin98です。 Excelオブジェクトを作成して、Excelファイルを開くところで発生します(下記ソースの最終行です)。 ---------------- Set ExcelApp = CreateObject("Excel.Application") ExcelApp.Visible = False ExcelApp.Workbooks.Add Template:=FromFileName ---------------- "FromFileName"には、開くExcelファイル名が入ります。 不思議なことに、ソースがほぼ同じプログラムがあるのですが、こちらは上記ソースと同じ内容で問題なく動くのです。