HOME > 即効テクニック > Excel VBA > 図形操作関連のテクニック > Shapeを使う - ControlTipTextプロパティーの代用

即効テクニック

図形操作関連のテクニック

Shapeを使う - ControlTipTextプロパティーの代用

(Excel 97/2000)
ユーザフォーム上に配置したコントロールの上にマウスがかかったときに表示されるPopUpヒントのことをControlTipTextといいますが、ワークシート上のコントロールにはこのプロパティーが用意されていません。

ここではシート上にImageコントロールとコマンドボタンがあり、Imageコントロールの上にマウスがかかったときに”ボタンを押すと画像が表示されます”というヒントを表示する方法を考えます。

(サンプル)
'------モジュールレベル変数(Sheet)------

Private MyShape As Shape

'----Image1のMouseMoveイベント---

Private Sub Image1_MouseMove _
    (ByVal Button As Integer, ByVal Shift As Integer, _
    ByVal X As Single, ByVal Y As Single)

If Not MyShape Is Nothing Then Exit Sub '複数表示防止

'Shapeを描画、テキストを表示して一定時間待機後削除
With ActiveSheet
Set MyShape = .Shapes.AddShape(msoShapeRectangle, _
                Image1.Left + X, _
                Image1.Top + Y, _
                200, 15)
End With

'Shapeにテキストを表示し、一定時間待機させた上で削除
MyShape.OLEFormat.Object.Text = "ボタンを押すと画像が表示されます"
DoEvents
Application.Wait Now + TimeValue("00:00:01")
MyShape.Delete
Set MyShape = Nothing

End Sub