|
▼プルート さん:
おはようございます。
これ、疑問に思いますよねえ!!
>図形を描いて文字を入れたいのですが、どのようなコードにすればいいでしょうか?
>自動記録をしたら、
>ActiveSheet.Shapes.AddShape(msoShapeRectangle, 206.25, 107.25, 195#, 90.75).Select
Msgbox typename(selection)
>Selection.Characters.Text = "aaaaa"
私は、上記のように確認して納得しました。
「Rectangle」と表示されますよね?
つまり、Selectionプロパティで取得されるのは見た目はShapeオブジェクトですが、
非表示オブジェクトのRectangleとして取得されます。
Rectangleは、Charactersオブジェクトが取得出来ますから
上記のコードで作動しますが・・・。
>
>となりました、図形にマクロ登録をしたいので以下のように描きました。
>Set shaPoint = ActiveSheet.Shapes.AddShape(msoShapeRectangle, _
> Cells(18, "Q").Left, Cells(18, "Q").Top, _
> Cells(18, "Q").Width * 2, Cells(18, "Q").Height * 2)
With shaPoint 'Shapeオブジェクトを取得しています
> .Characters.Text = "aaaaa"
'↑Shapeオブジェクトは直接.Charactersを取得出来ません
.TextFrame.Characters.Text = "aaaaa"
'↑としてみて下さい。Textframeオブジェクトを通して指定します。
> .OnAction = "InputPoint"
>End With
確認してみて下さい。
|
|