DOBON.NET DOBON.NETプログラミング掲示板過去ログ

EXCELのシートコピーについて

環境/言語:[WinXP,VB.NET,.NET Framework1.1,EXCEL2000]
分類:[.NET]

vb.netからexcelのシートコピーの処理についてご質問があります。
xlSheets("sheetname").Copy(Before:=xlSheets("sheetname"))でシートのコピーを処理の中で繰り返し行いたいのですが、
途中で「Worksheet クラスの Copy メソッドが失敗しました。」のエラーとなってしまいます。
シートコピー回数は256シート以上あり、シート自体が単純なシート(A1="aaa"と記述したシート)でも、
少し複雑なシート(セルを結合していたり、オートシェイプの○を使用しているシート)でも、コピーされるシート数は違いますが、
途中でエラーになってしまいます。
シートのコピーを何回も繰り返す作業はよくないのでしょうか。
(1bookに300,400シート)
Bookを分けないで、1book内にシートコピーでシートを追加する方法がありましたら、教えてください。
> 途中でエラーになってしまいます。
> シートのコピーを何回も繰り返す作業はよくないのでしょうか。

Excel2000は、1ブックに最大で256枚のワークシートしか作れないようです。Excel2002ですと、この制限が取り払われているようです。
いずれもネットで確認しましたが、これだという正確な情報源を特定できませんでした。(^^;
■No12217に返信(trapemiyaさんの記事)
>
> Excel2000は、1ブックに最大で256枚のワークシートしか作れないようです。Excel2002ですと、この制限が取り払われているようです。
> いずれもネットで確認しましたが、これだという正確な情報源を特定できませんでした。(^^;

trapemiyaさん、ご返答ありがとうございます。
私も色々調べてみて回答が出ず、ご質問させて頂いたんですが、ただ何れにしても
256シート以上はコピーできたので、256シートまでしかコピー出来ないという制限が
ないのかと思い、Bookをわけず出来るのかと思っていましたが、コピー元のシートの
内容によっては、350シート目でだったり、396シート目でエラーになったりと、
その時のシートの内容でエラーになるタイミングが違ったので、何か方法があるかと思い
、質問させていただきました。
EXCEL2002だと制限が取り払われているそうで、この情報を元にもう少し調べてみます。
早速のご返答ありがとうございました。

DOBON.NET | プログラミング道 | プログラミング掲示板