PowerTools SPREAD for Windows Forms 10.0J
シートのコピーと挿入

同一のコントロール、またはフォーム上の別のコントロールに、シートをコピーおよび挿入できます。シートをコピーするための組み込みの機能はありませんが、以下のコードを使用して、独自のCopySheetメソッドを簡単に作成できます。

サンプルコード

次のサンプルコードは、CopySheetメソッドを作成します。

C#
コードのコピー
public FarPoint.Win.Spread.SheetView CopySheet(FarPoint.Win.Spread.SheetView sheet)
{
    FarPoint.Win.Spread.SheetView newSheet = null;
    if (sheet != null )
    {
        newSheet = FarPoint.Win.Serializer.LoadObjectXml(GetType(FarPoint.Win.Spread.SheetView), FarPoint.Win.Serializer.GetObjectXml(sheet, "CopySheet"), "CopySheet");
    }
    return newSheet;
}
Visual Basic
コードのコピー
Public Function CopySheet(sheet As FarPoint.Win.Spread.SheetView) As FarPoint.Win.Spread.SheetView
    Dim newSheet as FarPoint.Win.Spread.SheetView = Nothing
    If Not IsNothing(sheet) Then
        newSheet = FarPoint.Win.Serializer.LoadObjectXml(GetType(FarPoint.Win.Spread.SheetView), FarPoint.Win.Serializer.GetObjectXml(sheet, "CopySheet"), "CopySheet")
    End If
    Return newSheet
End Function
  • シート上のすべてのシェイプもコピーされます。
  • シートがもつ名前付きスタイルのコレクションを表すNamedStyleCollectionオブジェクトもコピーされます。コレクション内のすべてのNamedStyleオブジェクトはシートに固有で、コピー元のシートのNamedStyleCollectionオブジェクトとは共有されません。
  • 2つのシートで名前付きスタイルを共有するには、コピー元のNamedStyleCollectionオブジェクトを、コピー先のNamedStylesプロパティに割り当てます。このとき、対象のNamedStyleCollectionコレクションが不要にコピーされないよう、コピー元シートから一時的に退避する処理も可能です。NamedStyleCollectionオブジェクトを一時的に変数に割り当て、コピー元のNamedStylesプロパティをnull(Nothing)に設定します。そして、コピーを作成してから、変数をコピー元のNamedStylesプロパティに再度割り当てます。
  • SpreadActionsクラスには、クリップボード経由のシートのコピー、切り取り、および貼り付けオプションが含まれます。任意のキー入力にシートのコピー、切り取り、ペーストの操作を割り当てられます。詳しくは「キーボード操作」を参照してください。

コピーしたシートをコントロールに挿入するには、CopySheetメソッドを呼び出した後に、FpSpreadクラスのSheetsプロパティが参照するSheetViewCollectionクラスのAddまたはInsertメソッドを使用します。

SPREAD デザイナの使用

SPREADデザイナのシートタブアイコンを右クリックすると、[コピー]、[切り取り]、および[貼り付け]コンテキストメニューが表示され、設計時にシートのコピーおよび貼り付けを行えます。

関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.