UTable .NET Framework用 表入力コンポーネント
ドキュメント

範囲選択とコピー&ペースト

この項では、範囲選択とクリップボードに対するコピー&ペースト機能について説明を行います。

UserRangeSelectableプロパティ

グローバルセッティングのUserRangeSelectableプロパティをTrueにすることで、 ユーザの操作によってフィールドの範囲選択が行えるようになります。 このプロパティのデフォルト値はFalseです。

    Table.Setting.UserRangeSelectable = True

NotSelectableColsプロパティ

以下に示すようなテーブルで、 青枠で示した部分のみを範囲選択可能としたい場合は、 NotSelectableColsプロパティを設定します。

    '1列目の見出しフィールドを選択不可能とする
    Table.NotSelectableCols = 1

Rangeオブジェクト

フィールドの範囲は、Rangeオブジェクトで表現されます。 RangeオブジェクトはCRangeクラスのインスタンスで、 これを生成するにはCreateRangeメソッドを利用します。

    'field1からfield2までの範囲を表すRangeオブジェクトを生成
    Table.SelectRange = Table.CreateRange(field1, field2)

なお、非表示のフィールドがRangeオブジェクトに含まれることはありません。

Rangeオブジェクトには以下のメソッドがあります。

メソッド 説明
FieldMatrix() 選択した範囲に含まれるフィールドを2次元のリストで返します
FieldsClear() 選択した範囲に含まれるフィールドのClearメソッドを呼びます
ClipboardCopy() 選択した範囲に含まれるフィールドの値を
TSV(タブ区切りデータ)形式の文字列としてクリップボードに保存します
この形式のデータはExcelなどの他のアプリケーションに貼り付けることができます

SelectRangeプロパティ

テーブル上で選択中の範囲は、SelectRangeプロパティで設定・取得できます。 このプロパティの値がNothingの場合、 範囲選択が行われていないことを意味します。

  Table.SelectRange = range 'rangeで示される範囲を選択中にする
  Table.SelectRange = Nothing '範囲選択を解除する

コピー&ペースト

デフォルトでは、ユーザがControl-Cを押下することでクリップボードへのコピー、 Control-Xでカット、Control-Vでペーストが行われます。 この操作は以下のメソッドを呼ぶことで、コードから直接実行することも可能です。

フィールドのClipboardCopyメソッドを呼ぶことで、 その値をクリップボードにコピーすることができます。

  field.ClipboardCopy()

SelectRangeプロパティのClipboardCopyメソッドを呼ぶことで、 選択範囲に含まれるフィールドの値をクリップボードにコピーできます。

  table.SelectRange.ClipboardCopy()

tableのClipboardCopyメソッドを呼ぶと、 SelectRangeプロパティがNothingでなければその範囲に含まれる値、 そうでなければFocusFieldの値をクリップボードにコピーします。

  table.ClipboardCopy()

tableのClipboardPasteメソッドを呼ぶと、 クリップボードの内容をFocusFieldの位置にペーストします。 このメソッドの引数にTrueを与えると、 データの大きさに応じてレコードが自動で追加されます。

  table.ClipboardPaste()
  table.ClipboardPaste(True) 'レコードが自動で追加される

次へ    ドキュメントのトップ / ホーム


Copyright (c) 2009, SystemBase Co.,Ltd.
All rights reserved.