MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集 > クリップボード > クリップボードの内容を取得する |
シート上にてコピーされた値は.NET Frameworkより提供されるClipboardクラスにて管理されるため、当クラスの各機能を用いることによってクリップボードの内容を取得することも可能です。
以下のサンプルでは、あらかじめLoadイベントにてセルデータをクリップボードへコピー(SheetViewクラスのClipboardCopyメソッド呼び出し)しておき、GetDataObjectメソッド呼び出しによって内容を取得しています。(テキスト形式の判断など)
|
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