VBAで、テキストボックスに右クリックメニューを追加できるかもしれないコードの備忘録

ユーザーフォーム


Private Sub TextBox_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)


If Button = 2 Then '右クリックの場合

Dim Cb As CommandBar

Dim Btn As CommandBarButton

Set Cb = Application.CommandBars.Add(Position:=msoBarPopup, Temporary:=True) 'ショートカットメニューを作成



Set Btn = Cb.Controls.Add(Type:=msoControlButton) 'ボタンを追加

With Btn

.Caption = "コピー" 'ボタンのキャプション

.OnAction = "CopyText" 'ボタンを押したときのアクション

If TextBox.SelText = "" Then 'テキストが選択されていない場合

Enabled = False 'ボタンを無効にする

End If

End With

Cb.ShowPopup 'ショートカットメニューを表示

Cb.Delete 'ショートカットメニューを削除

End If

End Sub


モジュール1

Sub CopyText()

SendKeys "^{c}", True 'テキストをコピー

End Sub


windows apiのコードとかそのまま持ってくれば、プログラミングっぽくなりますね。


ちなみに、なんてかいてあるかあんまりわかりません。


追記

カクヨムの規約がなんかプログラムのコードの配布を禁止しているので、なんかあったら消します。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る