- 締切済み
ExcelVBAでBook間のシートコピーについて
以前、Excel2003を使用しているときに作成したファイルで、2003の時には特に問題なく動いたのですが、Excel2010に入れ替えてからうまくいきません。 コードは以下のようなもので、コピーするシートには埋め込みグラフ(ソースは同一シート)があります。 Dim Book_A As Workbook Dim Book_B As Workbook Set Book_A = ThisWorkbook Set Book_B = Workbooks.Open("D:\Book_B.xls") For i = 1 To 3 Book_A.Sheets(i).Copy Before:=Book_B.Sheets(i) '※ Next i 上記※印の部分で下記のエラーが発生します。 実行時エラー '-2147417848(80010108)': オートメーションエラーです。 起動されたオブジェクトはクライアントから切断されました。 となり、止まってしまいます。 また、同じファイルを2003の入った端末から実行するとエラーは発生しません。 また、2010の入った端末で試しにシート見出しを右クリックして別のBookにコピーをしたところ、グラフやテキストボックスが抜け落ちたものがコピーされます。 2010では方法が違うのでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- tsubuyuki
- ベストアンサー率45% (699/1545)
回答No.1
2007以降、グラフィックに関するエンジンが変わったようで、 2003以前で作った図形を含むシートをコピーし、 2007以降のブックに貼り付けしても図形を持って行ってくれません。 DrawingObjects.item あたりを使ってコツコツやらなきゃ・・かもしれません。
お礼
回答ありがとうございます。 今まで通りにはできないようですね。 あるタイミングでブックの一部のシートだけをバックアップしたかったのですが… 別の方法を考えてみます。 ありがとうございました。