- ベストアンサー
VBAのテキストボックスに文字列を貼り付ける方法
こんにちは エクセルのVBAのユーザーフォーム上に作ったテキストボックスに 他でコピーした文字列(または数値)を貼り付け(ペースト)たいのですが、 テキストボックスのプロパティの項目のどれかを設定すれば可能でしょうか? 現状ではここで、右クリック自体できなくなっています。 使っているのはエクセル2000です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 ちょっと気になったことなので、もしかしたら私の間違いかもしれませんが、#3 のご紹介になつている k窓の kClipboardPaste関数は、Userform上では、Excelの通常のClipBoard ダイアログとは違うものを使っているので、うまくいかないのではないかと思います。 早い話は、やはり、Ctrl + V ですが、以下のようにすれば、右クリックで貼り付けは利きます。ただし、TextBox のプロパティのMultiline をTrue にしておかないと、改行マークが出てきてしまいます。 Private Sub TextBox1_MouseUp(ByVal Button As Integer, _ ByVal Shift As Integer, _ ByVal X As Single, _ ByVal Y As Single) Application.EnableEvents = False If Button = 2 Then Application.SendKeys "^v" End If Application.EnableEvents = True End Sub
その他の回答 (4)
- ttyp03
- ベストアンサー率28% (277/960)
>フォーム上で直接貼り付けたいのですが… あ~すみません、そういう意味でしたか。 それなら#2さんのようにキーボードから操作するのが一般的でしょう。 機能として(ボタンを押したら、とか)盛り込んでいいのなら、Pasteメソッドでいけますね。 TextBox1.Paste
お礼
ありがとうございます。
- muko650
- ベストアンサー率54% (6/11)
めんどうですが、似たようなのを作る方法もあります。 TextBox1_DblClickとかと組み合わせて・・・
お礼
私にはちょっと難しいですが やってみます。ありがとうございます。
右クリックメニューは出ないのでショートカットキーを使うしかないですね。 コピー:Ctrl+C 切り取り:Ctrl+X 貼り付け:Ctrl+V
お礼
ここでショートカットキーが使えるとは思いつきませんでした。 便利ですね。 ありがとうございます。
- ttyp03
- ベストアンサー率28% (277/960)
Textプロパティに設定すればOKです。
補足
Textプロパティにコピーした内容を貼り付けるという意味でしょうか? フォーム上で直接貼り付けたいのですが… ありがとうございます。
お礼
これで、うまくいきますね。 すばらしいです。ありがとうございます。