次の方法で共有

Office2002のVBAにてシートのコピー&ペーストを行うとエラーとなる__

Anonymous
2010-06-07T00:41:08+00:00

【現象】

Office2002にて「ツール」-「保護」-「範囲の編集を許可」の設定を一つ以上

設定していた場合、設定されているシートをVBAにてコピーしようとすると、

エラーが発生します。(実行時エラー -2147417848 (80010108))

ちなみに、VisualStudio2005のInterop.Excel9でも同じでした。

【コピー処理のVBA】 開いている「Book1」へコピー

ActiveSheet.Cells.Copy

Workbooks("Book1").ActiveSheet.Paste

このエラーが発生するのはOffice2002のみで、Office2000,2003,2007は

問題ありませんでした。

これは既知の不具合なのでしょうか?

本件に関するサポート技術情報があれば教えていただければ幸いです。

以上、よろしくお願いします。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2010-06-10T06:30:58+00:00

NorthMiya さん、こんにちは。

ご連絡ありがとうございます。

手元の環境で、同様の操作を行ってみました。

Excel 2003、2007では特に問題なかったのですが、やはり、Excel 2002では、「範囲の編集を許可」の設定した場合に

上記のマクロを実行したところ、エラーが発生しました。

ですが、エラーメッセージがNorthMiya さんのものとは異なり、

1回目は、[実行時エラー '-2147417848 (80010108)':システム エラー: 呼び出されたオブジェクトは、そのクライアントから切断されました]

2回目は、エラー:400

3回目以降は、エラーメッセージは出ず、コピーされてもペーストはされない、というような現象でした。

(私の環境がおかしいのかもしれませんが。。。。)

その後、「範囲の編集を許可」の設定を削除しても「エラー:400」でマクロが実行されなくなってしまいました。。。

NorthMiya さんに追記いただいたエラーメッセージ等でサポート情報を探してみましたが、

やはり既知の問題としての情報は見つけることができませんでした。ごめんなさい。。。

正確な情報を確認されたいという場合、製品サポートにお問い合わせいただいたほうが確実かもしれません。

マイクロソフト サポート オンライン

単純な回避策としては、マクロの実行時のみ、「範囲の編集を許可」の設定をはずし、

再度設定をかけることになると思いますが。。。

お役にたてず大変申し訳ありません。

他の方で情報をお持ちの方がいらっしゃいましたら、ぜひアドバイスをお願いいたします。


田中 美紀– Microsoft Support

この回答は役に立ちましたか?

0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2010-06-14T01:44:02+00:00

    田中様ご回答ありがとうございます。

    やはり何か問題はありそうですね。

    ただ、これ以上はちょっと分かりそうにないので、終了とさせていただきます。

    ありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2010-06-07T10:38:43+00:00

    田中様ご回答ありがとうございます。

    質問の仕方がまずかったようです。

    正確にはコピーした後の貼り付け時にエラーが発生します。

    【エラー内容】

    実行時エラー -2147417848 (80010108)

    ’Paste’メソッドは失敗しました:'_Worksheet' オブジェクト

    【再現方法 [Excel2002にて]】

    1. Book1とBook2を作成
    2. Book2の「ツール」-「保護」-「範囲の編集を許可」より新規条件追加

    追加内容

            タイトル:範囲1

    セルの参照:$A$1:$A$3

    1. Book2のモジュールに以下を追加して実行

    Sub Macro1()

       ActiveSheet.Cells.Copy

       Workbooks("Book1").ActiveSheet.Paste       ← ここでエラー発生

    End Sub


    以上、よろしくおねがいします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2010-06-07T08:50:17+00:00

    NorthMiya さん、こんにちは。

    Answers のご利用ありがとうございます。

    Excel 2002 にて 「ツール」-「保護」-「範囲の編集を許可」の設定をしているシートを

    VBA にて他のブックにコピーをしようとすると、実行時エラー -2147417848 (80010108) のエラーが発生するということですね。

    また、この現象は、Excel 2002 のみで起こるということをご確認いただいているということですね。

    以下のサポートのページに参考になりそうな情報がありましたのでご確認いただければと思います。

    [XL2002] グラフを含むシートを新規ブックへコピーするとマクロ実行時にエラーになる

    http://support.microsoft.com/kb/436156/ja

    この現象の発生条件としては、以下の通りで、既知の問題として確認しているということです。

    Excel 2002 を使用しており、

    ・グラフを含むシートを、新規に作成した空白のブックにコピーしている

    ・コピー元のブックに、マクロを登録したオブジェクトがある

    ・オブジェクトに登録されたマクロが、コピー元のブックに記述されている

    「保護」-「範囲の編集を許可」の設定で、[実行時エラー -2147417848 (80010108)] が発生するという情報は見つからなかったのですが、

    この3 項目に該当はありませんでしょうか。

    また、[実行時エラー -2147417848 (80010108)] の以下に、

    例えば、「:'copy' メソッドは失敗しました。:'_Worksheet' オブジェクト」というようなメッセージはありませんでしたか。

    Excel 2002 のVBAで[実行時エラー -2147417848 (80010108)] に該当する既知の問題の情報が多数

    マイクロソフト サポート オンライン に掲載されていました。

    上記の項目に該当しない場合、エラーメッセージの全文を記載いただけると

    他の方も状況を把握しやすくなりますので、アドバイスが集まってくるかもしれませんね。

    返信お待ちしております。


    田中 美紀– Microsoft Support

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません