簡體   English   中英

VBA消息框中的可選文本

[英]Selectable Text in VBA Message Box

當我在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。 使用自定義表單而不是標簽使用文本框。 然而...

在設計模式下更改文本框的這些屬性。

  1. SpecialEffect - fmiSpecialEffectFlat
  2. BackStyle - 透明
  3. 鎖定 - 真的

然后使用此代碼

Option Explicit

Private Sub UserForm_Initialize()
    Me.Caption = "Message Box"
    TextBox1.Text = "Hello World!"
End Sub

在此輸入圖像描述

您可以使用輸入框而不是消息框

inputbox "Copy the below text", "Copy Text", "Text value"

輸入框復制文本

在此輸入圖像描述

如果用戶通常會復制整個郵件,則可以使用VBA設置剪貼板文本。

或者使用輸入框而不是msgbox,因為用戶可以從填充的值進行復制。

您可以使用UserForm制作自己的自定義消息框。 這是一個基本的概念驗證:帶有一個文本框的用戶表單(您可以從中選擇和復制文本)。

在此輸入圖像描述

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."

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM