VBAでmsgboxを作成すると、ユーザーはテキストをまったく操作できません。私の場合、ユーザーがテキストを強調表示してコピーできるようにしたいと考えています。これを行うためのより良い方法は、テキストをクリップボードにコピーするボタンを追加することかもしれません。助言がありますか?
このコードの場合:
msgbox "Does Control+C work on a lowly, old message box?"
あなたは押すことができます ctrl + c、メモ帳を開き、 ctrl + v そしてあなたはこれを得るでしょう:
---------------------------
Microsoft Excel
---------------------------
Does Control+C work on a lowly, old message box?
---------------------------
OK
---------------------------
「選択可能」なテキストが必要な場合は、MsgBoxを使用しないでください。 カスタムフォームを使用 で、ラベルの代わりにテキストボックスを使用します。しかしながら...
デザインモードでテキストボックスのこれらのプロパティを変更します。
そして、このコードを使用します
Option Explicit
Private Sub UserForm_Initialize()
Me.Caption = "Message Box"
TextBox1.Text = "Hello World!"
End Sub
ユーザーが通常メッセージ全体をコピーする場合は、VBAを使用してクリップボードのテキストを設定できます。
または、ユーザーが入力された値からコピーできるため、msgboxの代わりに入力ボックスを使用します。
ユーザーフォームを使用して、独自のカスタムメッセージボックスを作成できます。これは、初歩的な概念実証です。テキストボックスが1つあるユーザーフォームです(テキストボックスからテキストを選択してコピーできます)。
Sub MyMsg(msg As String)
With MsgUserForm ' this is the name I gave to the userform
.TextBox1.Text = msg
.Show
End With
End Sub
使用法:
MyMsg "General failure reading hard drive."