- - PR -
spredで特定のセルの内容だけコピー。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-03-08 16:05
VB2005環境です。
Spreadをデフォルトで行選択モードにし、どこかの行を選択した時に Ctrl+Cを押すと、左から2番目のセルの値だけがクリップボードに保存される ということをやりたいと考えています。 また、グリッドの項目は編集不可です。 もし上のようなことが実現可能でしたら、サンプルコードを交えて 教えていただけないでしょうか? | ||||
|
投稿日時: 2007-03-08 17:36
上位のキーを処理するメソッド (ProcessCmdKey など) で、Ctrl + C を捕捉して、 自前で Clipboard にセルの内容を詰め込むというのはどうでしょうか。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-03-08 21:16
レスありがとうございます。
いろいろ試してみたのですが、Ctrl+Cについては、2つIf文を使って 解決しました。 If e.KeyCode = Keys.C Then If e.Control Then msgbox("ctrl+cを取得") End If End If あとはClipboard.SetDataObjectを使って、セルの値を入れればいいんだと 思うのですが、Spreadで常に2列目の値を取得する方法がわかりません。 (GetValueとかそれらしきものはあったのですが…)。 指定したセルの値を取得する方法を教えていただけないでしょうか? | ||||
|
投稿日時: 2007-03-08 22:38
そちらのご質問の方が簡単だと思うのですが... Cells インデクサから取得できるはずです。 Cells インデクサには、Active な Row と、Column 2 固定で引数を渡します。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-03-09 12:11
レスありがとうございます。
ご指摘の方法で実現できました。 ありがとうございました。 |
1