VBからエクセルで2つ以上のグラフを作成した後、xlSheet.Range("A1").Select と処理した時エラーが発生しました。エラー内容「コンポネートを使用できません。 他のアプリケーションがサーバーを使用しているため、この操作を完了できません。操作を続けるには[切り替え]を選択して、他のアプリケーションを終了させてください。」というメッセージがループして処理が終了できません。このエラーを回避するにはどうしたらいいでしょうか?
グラフ作成に時間がかかって、オートメーションエラーが発生しているのではないですか?
見当ちがいだったらすいません。
ヤマ@文系さん返答ありがとうございます。グラフを2つ以上作成した後にエラーが発生するという件は無事解決しました。エラー原因は自分のプログラムミスでした。
With xlSheet
.ChartObjects.Add(320,20,320,300).Name = "グラフ1"
.ChartObjects("グラフ1").Activate
With xlApp.ActiveChart
:
:
xlApp.ActiveSheet.Chartobjects("グラフ1").Activate
xlApp.ActiveChart.ChartArea.Select
xlApp.ActiveSheet.Shapes("グラフ1").IncrementTop 24.5
:
というようにはじめにグラフ表示位置を指定しているのに後から再度グラフの表示位置を指定いているのが原因でした。再度グラフ位置を指定しているプログラムを削除すると無事2つのグラフを表示できるようになりました。
ですが、別の問題が発生してしまいました。
グラフを無事表示した後、エクセルを終了しようとすると、エラーメッセージが表示されてしまいます。メッセージが表示されるタイミングは「エクセルを保存しますか?」というメッセージが出た後、「はい」又は「いいえ」を選択した後に表示されます。エラー内容は、「問題が発生したため、Microsoft Excel for Windows を終了します。・・・・」というメッセージが表示され、強制終了してしまいます。強制終了をした後に再度エクセルを立ち上げると「エラー番号462プロジェクト名でエラーが発生しました。リモートサーバーがないか、使用できる状態ではありません。」というメッセージが表示されます。エクセル終了時と立ち上げ時に表示される二つのエラーを回避するにはどうしたらいいでしょうか?
エクセルは2003?
事前バインディングの問題
http://support.microsoft.com/default.aspx?scid=kb;ja;319832
エクセルは2000でVBは6.0(SP5)を使用しています。
エクセル終了時にエクセルが強制終了されるという件は無事解決しました。
原因はまたまた、自分のプログラムミスでした。
2つめのグラフを作成するためのデータ指定範囲が間違っていました。
「C28:D30」までを範囲指定しなければならなかったのに「C26:D30」と空欄のセルを2行も含んでいたことがエラーの原因でした。強制終了の件は解決しましたが、また他のエラーが発生してしまいました。
エクセルを出力すると、エラーが発生し、エクセルの回復になって表示されます。その際表示されるエラーメッセージは、「エラー番号-2147417851プロジェクトでエラーが発生されました。オートメーションエラーです。サーバーによって例外が発生されました。」というメッセージが表示されます。
このエラーは開発用のパソコンでは表示されなかったのですが、その他のパソコンではエラーが発生してしまいます。
開発用パソコン:「Windows XP Professional Version2002 / Excel 2000」
エラーが出たその他パソコン:「Windows XP Professional Version2002 / Excel 2002」・「Windows XP HomeEdition Vorsion2002 ServicePack2 / Excel 2003」
このエラーを回避するにはどうしたらいいでしょうか?
解決しました。
ツイート | ![]() |