方法 : ワークシートをコピーする

更新 : 2008 年 7 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

  • アプリケーション レベルのプロジェクト

Microsoft Office のバージョン

  • Excel 2003

  • Excel 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

ワークシートのコピーを作成し、ブック内の既存のワークシートの前または後に挿入できます。ワークシートの挿入先を指定しない場合は、新しいブックが作成され、そこに新しいワークシートが挿入されます。

ms178800.alert_note(ja-jp,VS.90).gifメモ :

プログラミングによってワークシートをコピーしても、エンド ユーザーが手動でワークシートをコピーしても、新しいワークシートには分離コードがないので、新しいワークシート上のコントロールは機能しません。新しくコピーしたワークシートは Microsoft.Office.Interop.Excel.Worksheet オブジェクトであって、Microsoft.Office.Tools.Excel.Worksheet ホスト項目ではないからです。Windows フォーム コントロールおよびホスト コントロールは、ホスト項目にのみ追加できます。詳細については、「ホスト項目およびホスト コントロールのプログラム上の制限事項」を参照してください。

ドキュメント レベルのカスタマイズのブックに、コピーしたワークシートを追加するには

  • Copy メソッドを使用して、作業中のブック内の 1 番目のワークシートをコピーし、そのコピーを 3 番目のシートの後に挿入します。

    Globals.Sheet1.Copy(After:=Globals.ThisWorkbook.Sheets(3))
    
    Globals.Sheet1.Copy(missing, Globals.ThisWorkbook.Sheets[3]);
    

アプリケーション レベルのアドインで、コピーしたワークシートをブックに追加するには

  • Copy メソッドを使用して、作業中のブック内の 1 番目のワークシートをコピーし、そのコピーを 3 番目のシートの後に挿入します。

    Dim worksheet1 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(1),  _
    Excel.Worksheet)
    Dim worksheet3 As Excel.Worksheet = CType(Application.ActiveWorkbook.Worksheets(3),  _
    Excel.Worksheet)
    worksheet1.Copy(After:=worksheet3)
    
    Excel.Worksheet worksheet1 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[1]);
    Excel.Worksheet worksheet3 = ((Excel.Worksheet)Application.ActiveWorkbook.Worksheets[3]);
    worksheet1.Copy(missing, worksheet3);
    

参照

処理手順

方法 : 新しいワークシートをブックに追加する

方法 : ブックからワークシートを削除する

方法 : ワークシートを選択する

概念

ワークシートの操作

ホスト項目とホスト コントロールの概要

Visual Studio Tools for Office プロジェクト内のオブジェクトへのグローバル アクセス

ホスト項目およびホスト コントロールのプログラム上の制限事項

Office ソリューションの省略可能なパラメータについて

その他の技術情報

Excel のホスト コントロール

履歴の変更

日付

履歴

理由

2008 年 7 月

アプリケーション レベルのアドインで使用できるコード例を追加

カスタマ フィードバック