MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
クリップボードの内容を取得する

シート上にてコピーされた値は.NET Frameworkより提供されるClipboardクラスにて管理されるため、当クラスの各機能を用いることによってクリップボードの内容を取得することも可能です。

以下のサンプルでは、あらかじめLoadイベントにてセルデータをクリップボードへコピー(SheetViewクラスのClipboardCopyメソッド呼び出し)しておき、GetDataObjectメソッド呼び出しによって内容を取得しています。(テキスト形式の判断など)

  • クリップボード機能は製品独自のものではなく、基本的に.NET Frameworkより提供されているClipBoardクラスの各機能を用いて実現されています。当クラスの詳細についてはMSDNライブラリをご参照ください。

 private void Form1_Load(object sender, System.EventArgs e)
 {

   fpSpread1.ActiveSheet.Cells[1, 1].CellType = new FarPoint.Win.Spread.CellType.TextCellType();
   fpSpread1.ActiveSheet.SetText(1, 1, "Text");
   fpSpread1.ActiveSheet.SetActiveCell(1, 1);

   //アクティブセルの内容をクリップボードにコピーします
   fpSpread1.ActiveSheet.ClipboardCopy();

 }

 private void button1_Click(object sender, System.EventArgs e)
 {

   //システムクリップボードにあるデータを取得します
   IDataObject iData = Clipboard.GetDataObject();

   //テキスト形式データの判断
   if (iData.GetDataPresent(DataFormats.Text))
      Console.WriteLine((string)iData.GetData(DataFormats.Text));

 }
 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

   FpSpread1.ActiveSheet.Cells(1, 1).CellType = New FarPoint.Win.Spread.CellType.TextCellType
   FpSpread1.ActiveSheet.SetText(1, 1, "Text")
   FpSpread1.ActiveSheet.SetActiveCell(1, 1)

   'アクティブセルの内容をクリップボードにコピーします
   FpSpread1.ActiveSheet.ClipboardCopy()

 End Sub

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

   'システムクリップボードにあるデータを取得します
   Dim iData As IDataObject = Clipboard.GetDataObject()

   'テキスト形式データの判断
   If iData.GetDataPresent(DataFormats.Text) Then
      Console.WriteLine(CType(iData.GetData(DataFormats.Text), String))
   End If

 End Sub

 

 


© MESCIUS inc. All rights reserved.