iT邦幫忙

0

Excel 問如何取得按鈕或圖片上文字

想請問一下
按鈕(或圖案)上面的文字(已指定巨集)

想用VBA取得"文字","測試文字"
或如何讓按鈕按一下可以使MSGBOX彈出該按鈕上的文字呢

不好意思 還無法使用回應功能
圖形是Shapes

我是用
Sub circle_Click()
Set myDocument = Worksheets("工作表")
With myDocument.Shapes.AddShape(msoShapeRectangle, 164.25, 424.5, 72, 72)
.TextFrame2.TextRange.Characters.Text = Application.InputBox("input")
End With
End Sub
做出一個shapes並輸入上面的文字
想指定一個巨集 讓我按下圖形(按鈕)後讓MSGBOX可以SHOW出他上面的文字

這圖案是怎麼做出來的?
如果是EXCEL產生的Shapes物件,可以做得到。
extreox iT邦新手 5 級 ‧ 2019-06-25 21:00:57 檢舉
是的 想請問大大該怎麼做呢
0
小魚
iT邦大師 1 級 ‧ 2019-06-25 17:56:59

按鈕沒試過,
不過圖片應該不行,
那需要影像處理.

小魚 iT邦大師 1 級 ‧ 2019-06-25 18:08:44 檢舉

有找到這個

Private Sub test()
    Dim Sp As Shape
    For Each Sp In Sheet1.Shapes
        Sp.OnAction = "OC"
        MsgBox (Sp.Name)
        MsgBox (Sp.TextFrame.Characters.Text)
    Next
End Sub

不過你要知道它的名稱才有辦法去抓它的文字

0
japhenchen
iT邦大師 1 級 ‧ 2019-06-26 08:33:35
Sub GetButton文字()
    MsgBox (ActiveSheet.Shapes("Button 1").TextFrame.Characters.Text)    
End Sub

如果不知道按鍵是什麼名字,那你可以用,BASIC的陣列預設BASE ON 1
ActiveSheet.Shapes(1).TextFrame.Characters.Text

如果很多個不好猜,那你錄一個新巨集抓看看你點了哪個按鈕
快速圖案、按鈕都是SHAPES

0
paicheng0111
iT邦高手 1 級 ‧ 2019-06-26 08:45:30
Private Sub circle_Click()
    Dim myDocument As Worksheet
    
    Set myDocument = Worksheets("工作表")
    With myDocument.Shapes.AddShape(msoShapeRectangle, 164.25, 100, 72, 72)
        .Name = "myName"
        .TextFrame2.TextRange.Characters.Text = Application.InputBox("input")
        .OnAction = "工作表.test"
    End With
End Sub

Sub test()
    Dim s As Shape
    
    On Error Resume Next
    With Worksheets("工作表").Shapes("myName")
        MsgBox .TextFrame2.TextRange.Characters.Text
    End With
End Sub
0
race
iT邦新手 5 級 ‧ 2020-10-28 15:29:41

可以使用 MsgBox Sheet1.DrawingObjects(Application.Caller).Caption
Sheet1代表你的工作頁名稱

我要發表回答

立即登入回答