|
▼初心者 さん:
こんにちは。
>ichinose さん、ありがとうございます。
>>'==========================================================
>>Private Sub CommandButton1_Click()
>> Call SavePicture(Image1.Picture, ThisWorkbook.Path & "\temp.gif")
>> ActiveSheet.Pictures.Insert ThisWorkbook.Path & "\temp.gif"
>>End Sub
>>なんてコードでイメージコントロールの内容をシートに表示する事は可能です
>表示が出来ました!!
こっちでやるのですね!!
>>イメージコントロールの上にラベルが貼り付けてあるのならそれだけ新たにシート上に
>>作成しても良いかと思います(それの方が簡単だから)。
>
>ラベルを貼り付ける場合の型はどのようにしたら良いですか??
コントロールツールボックスのラベルが動的に作成できれば良いのですが、
作成すると色々と問題があるようです。
よって、Shapeのテキストボックスで代用しました。
テキストボックスは、図形のすぐ下に作成するようなコードにしましたが、
問題があるなら位置の変更を行って下さい。
以下のコードは、
「ユーザーフォーム(Userform1)にイメージコントロール(Image1)とその中に収まるようなラベル(Label1)とコマンドボタン(Commandbutton1)がある」と想定しています。
コマンドボタンのクリックイベントで、
'===========================================================
Private Sub CommandButton1_Click()
Dim pic As Picture
Dim txt As TextBox
Call SavePicture(Image1.Picture, ThisWorkbook.Path & "\temp.gif")
Set pic = ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\temp.gif")
Set txt = ActiveSheet.TextBoxes.Add(pic.Left + 6, pic.Top + pic.Height, Label1.Width, Label1.Height)
With Label1
txt.Text = Label1.Caption
txt.Font.Name = .Font.Name
txt.Font.Size = .Font.Size
txt.ShapeRange.Fill.ForeColor.RGB = .BackColor
ActiveSheet.Shapes.Range(Array(pic.Name, txt.Name)).Group
End With
Set pic = Nothing
Set txt = Nothing
End Sub
尚、Label1のBackcolorプロパティには、色が設定されている事を想定しています。
こんな方法でどうでしょうか?
|
|