programing

VBA 메시지 상자에서 선택 가능한 텍스트

padding 2023. 5. 23. 21:37
반응형

VBA 메시지 상자에서 선택 가능한 텍스트

내가 VBA에서 메시지 상자를 만들 때 사용자는 텍스트와 전혀 상호 작용할 수 없습니다.나의 경우, 나는 사용자가 텍스트를 강조 표시하고 복사할 수 있기를 원합니다.클립보드에 텍스트를 복사하는 단추를 추가하는 것이 더 나은 방법일 수도 있다고 생각합니다.좋은 의견이라도 있나?

이 코드의 경우:

msgbox "Does Control+C work on a lowly, old message box?"

+를 누르고 메모장을 열면 다음과 같은 메시지가 표시됩니다.

---------------------------
Microsoft Excel
---------------------------
Does Control+C work on a lowly, old message box?
---------------------------
OK   
---------------------------

메시지 상자 대신 입력 상자를 사용할 수 있습니다.

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

입력 상자:복사 텍스트

여기에 이미지 설명 입력

"선택 가능"한 텍스트를 원한다면 MsgBox를 사용하지 마십시오.사용자 정의 양식을 사용하고 레이블 대신 텍스트 상자를 사용합니다.하지만...

설계 모드에서 텍스트 상자의 다음 속성을 변경합니다.

  1. 특수 효과 - fmi 특수 효과 플랫
  2. 백스타일 - 투명
  3. 잠김 - 참

그리고 이 코드를 사용합니다.

Option Explicit

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

여기에 이미지 설명 입력

사용자가 일반적으로 전체 메시지를 복사하는 경우 VBA를 사용하여 클립보드 텍스트를 설정할 수 있습니다.

또는 입력된 값에서 복사할 수 있으므로 메시지 상자 대신 입력 상자를 사용합니다.

사용자 양식을 사용하여 사용자 정의 메시지 상자를 만들 수 있습니다.다음은 기본 개념 증명입니다. 텍스트 상자가 하나 있는 사용자 양식(텍스트를 선택하고 복사할 수 있음).

여기에 이미지 설명 입력

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

언급URL : https://stackoverflow.com/questions/12188769/selectable-text-in-vba-message-box

반응형