• ベストアンサー

VBAのテキストボックスに文字列を貼り付ける方法

こんにちは エクセルのVBAのユーザーフォーム上に作ったテキストボックスに 他でコピーした文字列(または数値)を貼り付け(ペースト)たいのですが、 テキストボックスのプロパティの項目のどれかを設定すれば可能でしょうか? 現状ではここで、右クリック自体できなくなっています。 使っているのはエクセル2000です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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

hwy101
質問者

お礼

これで、うまくいきますね。 すばらしいです。ありがとうございます。

その他の回答 (4)

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.4

>フォーム上で直接貼り付けたいのですが… あ~すみません、そういう意味でしたか。 それなら#2さんのようにキーボードから操作するのが一般的でしょう。 機能として(ボタンを押したら、とか)盛り込んでいいのなら、Pasteメソッドでいけますね。 TextBox1.Paste

hwy101
質問者

お礼

ありがとうございます。

  • muko650
  • ベストアンサー率54% (6/11)
回答No.3

めんどうですが、似たようなのを作る方法もあります。 TextBox1_DblClickとかと組み合わせて・・・

参考URL:
http://homepage2.nifty.com/kmado/ke_m9.htm#E02M088
hwy101
質問者

お礼

私にはちょっと難しいですが やってみます。ありがとうございます。

noname#112806
noname#112806
回答No.2

右クリックメニューは出ないのでショートカットキーを使うしかないですね。 コピー:Ctrl+C 切り取り:Ctrl+X 貼り付け:Ctrl+V

hwy101
質問者

お礼

ここでショートカットキーが使えるとは思いつきませんでした。 便利ですね。 ありがとうございます。

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

Textプロパティに設定すればOKです。

hwy101
質問者

補足

Textプロパティにコピーした内容を貼り付けるという意味でしょうか? フォーム上で直接貼り付けたいのですが… ありがとうございます。