Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1464 / 13644 ツリー ←次へ | 前へ→

【74262】フォーム テキストボックス カカシ 13/5/9(木) 19:57 質問[未読]
【74263】Re:フォーム テキストボックス UO3 13/5/9(木) 20:33 発言[未読]
【74268】Re:フォーム テキストボックス カカシ 13/5/11(土) 18:01 お礼[未読]
【74265】Re:フォーム テキストボックス ichinose 13/5/10(金) 6:46 発言[未読]
【74267】Re:フォーム テキストボックス カカシ 13/5/11(土) 17:59 お礼[未読]
【74266】Re:フォーム テキストボックス Abyss 13/5/10(金) 11:59 発言[未読]
【74269】Re:フォーム テキストボックス カカシ 13/5/11(土) 18:03 お礼[未読]

【74262】フォーム テキストボックス
質問  カカシ  - 13/5/9(木) 19:57 -

引用なし
パスワード
   フォーム内のテキストボックス内でコピー 貼り付けを
できるようにしたいのですが、どのようにすれば可能ですか?

【74263】Re:フォーム テキストボックス
発言  UO3  - 13/5/9(木) 20:33 -

引用なし
パスワード
   ▼カカシ さん:

普通に、入力されているテキストボックスの文字列をマウスで選択してハイライトさせ
Ctrl/c。

別のテキストボックスをクリックして Ctrl/v。

あるいは、モードレス表示のフォームなら、セルをクリックして Ctrl/v で
セルへのペーストもできますが。

ところで、用語の使い方が、「たかし」さんとにていますけど同じ人ですか?
(同じ人でも別の人でも、かまいませんが)

【74265】Re:フォーム テキストボックス
発言  ichinose  - 13/5/10(金) 6:46 -

引用なし
パスワード
   おはようございます。

>フォーム内のテキストボックス内でコピー 貼り付けを
>できるようにしたいのですが、どのようにすれば可能ですか?

これが 一般的なコピー/ペースト操作と同様に
テキストボックスにマウスを合わせて 
右クリックでテキストボックス近くにメニューが表示され、

切り取り
コピー
貼り付け

のいずれかを選択させることで処理が行われるような仕様に
したいということなら、
そのように処理されるプログラムを自作する必要があります。

www.excel.studio-kazu.jp/kw/20100921183617.html

↑別サイトですが、サンプルコードです。

【74266】Re:フォーム テキストボックス
発言  Abyss  - 13/5/10(金) 11:59 -

引用なし
パスワード
   では、私からも一つ。

# ユーザーフォーム上、全てのTextBoxに
 右クリックメニューを付けます。

' **********
' classモジュール(Class1)

Private WithEvents Txt As MSForms.TextBox
Private WithEvents mCopy As Office.CommandBarButton
Private WithEvents mCut As Office.CommandBarButton
Private WithEvents mPaste As Office.CommandBarButton

Public Sub Init(ByVal rhs As MSForms.TextBox)
  Set Txt = rhs
End Sub

Private Sub mCopy_Click(ByVal Ctrl As Office.CommandBarButton, _
            CancelDefault As Boolean)
  CancelDefault = True
  Txt.Copy
End Sub

Private Sub mCut_Click(ByVal Ctrl As Office.CommandBarButton, _
            CancelDefault As Boolean)
  CancelDefault = True
  Txt.Cut
End Sub

Private Sub mPaste_Click(ByVal Ctrl As Office.CommandBarButton, _
            CancelDefault As Boolean)
  CancelDefault = True
  Txt.Paste
End Sub

Private Sub Txt_MouseUp(ByVal Button%, ByVal Shift%, ByVal X!, ByVal Y!)
  If Button <> vbKeyRButton Then Exit Sub
  With Application.CommandBars.Add(, msoBarPopup, , True)
    Set mCopy = .Controls.Add(, 19)
    Set mCut = .Controls.Add(, 21)
    Set mPaste = .Controls.Add(, 22)
    .ShowPopup
    .Delete
  End With
  Set mCopy = Nothing
  Set mCut = Nothing
  Set mPaste = Nothing
End Sub


' **********
' Userformモジュール
Private col As Collection

Private Sub UserForm_Initialize()
  Dim e As MSForms.Control
  Dim cls As Class1
  Set col = New Collection
  
  For Each e In Controls
    If TypeName(e) = "TextBox" Then
      Set cls = New Class1
      cls.Init e
      col.Add cls
    End If
  Next
End Sub

【74267】Re:フォーム テキストボックス
お礼  カカシ  - 13/5/11(土) 17:59 -

引用なし
パスワード
   御回答有難うございました。
コピー、貼り付け それぞれのボタンを配置することで解決いたしました。
有難うございました。

【74268】Re:フォーム テキストボックス
お礼  カカシ  - 13/5/11(土) 18:01 -

引用なし
パスワード
   御回答ありがとう御座います。
コピー、貼り付け それぞれのボタンを配置することで解決いたしました。
有難う御座いました。

【74269】Re:フォーム テキストボックス
お礼  カカシ  - 13/5/11(土) 18:03 -

引用なし
パスワード
   御回答有難うございます。
ご回答頂いた内容はまだ内容がはっきりわかりません。
参考にさせていただき、コピー、貼り付け それぞれのボタンを配置することで
対応したいと思います。
有難う御座いました。

1464 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free