[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロで図形上の日本語フォント変更と図形背景を画像で塗りつぶしたい』(たいたい)
2つあります。
1.
図形を作成→図形のテキストのフォントを設定してグループ化するマクロを作りました。
Sub 図形とテキスト()
Worksheets("Sheet1").Select
With ActiveSheet.Range("b3:e5") ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, .Width, .Height).Name = "背景" End With
With ActiveSheet.Range("c4") ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, .Width, .Height).Name = "テキスト" ActiveSheet.Shapes("テキスト").TextFrame.Characters.Text = "あa1" ActiveSheet.Shapes("テキスト").TextFrame.Characters.Font.Size = 12 ActiveSheet.Shapes("テキスト").TextFrame.Characters.Font.Name = "MS 明朝" End With
ActiveSheet.Shapes.SelectAll Selection.Group.Name = "A"
End Sub
しかし英数はMS 明朝に切り替わりましたが日本語が切り替わりません。
セルに対するフォント切り替えは日本語と英数どちらもいけました。
図形で日本語にもフォントの切り替えを適応させるにはどうすればいいでしょうか。
2.
またこの作成した図形の背景を、図の参照で画像を自由に選択したうえで塗りつぶすマクロを作ろうとおもってマクロの記録をしました。
Sub Macro1()
'
' Macro1 Macro
'
'
ActiveSheet.Shapes.Range(Array("Rectangle 4")).Select With Selection.ShapeRange.Fill .Visible = msoTrue .UserPicture _ "C:\Users\□□□\Pictures\□□□\□□□.jpg" .TextureTile = msoFalse .RotateWithObject = msoTrue End With End Sub
しかしこれでは最初に指定した画像しか使えません。
図の挿入を挟ませるにはどうすればいいでしょうか。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
.TextaFrame2.TextRange.Font.NameFarEast で検索してみてください (´・ω・`) 2021/11/01(月) 17:52
ヒントを元に1.の日本語フォントはクリアできました。ありがとうございます。
ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, .Width, .Height).Name = "テキスト" ActiveSheet.Shapes("テキスト").TextFrame.Characters.Text = "あ愛a1" ActiveSheet.Shapes("テキスト").TextFrame.Characters.Font.Size = 12 ActiveSheet.Shapes("テキスト").TextFrame.Characters.Font.Name = "MS 明朝" ActiveSheet.Shapes("テキスト").TextFrame2.TextRange.Font.NameFarEast = "HGP創英角ポップ体"
2.の方は難しいでしょうか。
昨日から検索を色々とかけて、ファイルの開き方と名前で指定した図形の背景色を変えるところまではできました。
しかしこの2つを組み合わせる方法が見つかりません。
Sub 背景の塗りつぶしを画像に変更()
Dim FileName As Variant FileName = Application.GetOpenFilename(FileFilter:="画像ファイル,*.bmp") If FileName = False Then Exit Sub End If (↑の文を↓に組み込みたい)
With ActiveSheet.Shapes("背景").Fill .Visible = msoTrue .ForeColor.RGB = RGB(255, 192, 0) .Transparency = 0 .Solid End With End Sub
どなたかアドバイスをお願いします。
(たいたい) 2021/11/02(火) 16:48
Sub 背景の塗りつぶしを画像に変更() Dim FileName As Variant FileName = Application.GetOpenFilename(FileFilter:="画像ファイル,*.bmp") If FileName = False Then Exit Sub Else With ActiveSheet.Shapes("背景").Fill .Visible = msoTrue .ForeColor.RGB = RGB(255, 192, 0) .Transparency = 0 .Solid End With End if End Sub 違っていたらごめんなさいね。
(TAI) 2021/11/02(火) 18:26
ActiveSheet.Shapes.Range(Array("Rectangle 4")).Select With Selection.ShapeRange.Fill .Visible = msoTrue .UserPicture _ "C:\Users\□□□\Pictures\□□□\□□□.jpg" .TextureTile = msoFalse .RotateWithObject = msoTrue End With の .UserPicture に取得した FileName を指定するというはなしなのでわ? (とおりすがり) 2021/11/02(火) 19:10
ActiveSheet.Shapes.Range(Array("Rectangle 4")).Select With Selection.ShapeRange.Fill .Visible = msoTrue .UserPicture _ "C:\Users\□□□\Pictures\□□□\□□□.jpg" .TextureTile = msoFalse .RotateWithObject = msoTrue End With (実際に選択したい図形はActiveSheet.Shapes("背景"))
に
Dim FileName As Variant FileName = Application.GetOpenFilename(FileFilter:="画像ファイル,*.bmp") If FileName = False Then Exit Sub End If
を組み込みたいです。
2回目の色を変えた奴は、図形の単色塗りつぶしまでは作れたけど、そこからfilenameを使用した図の塗りつぶしにつなげる方法が分からないと言った意味で投稿しました。
(たいたい) 2021/11/04(木) 09:43
With ActiveSheet.Shapes("背景").Fill .Visible = msoTrue .UserPicture _
/////塗りつぶしのタイミングでこの動きを入れたい/////
Dim FileName As Variant FileName = Application.GetOpenFilename(FileFilter:="画像ファイル,*.jpg") If FileName = False Then Exit Sub End If ///////////////////////////////////////////////////
.TextureTile = msoFalse .RotateWithObject = msoTrue End With
画像のファイル名を直接書き込む方法やオートシェイプではなく直接画像を図形化するのは見かけましたが、触りたいのはグループの最背面にある図形になるので、背景画像を変えるたびにグループ解除→図形削除→画像入れ込み→再グループ化して最背面に置く動作よりは塗りつぶし機能で画像を入れ込める方がシンプルではないかと考えてこの方法で模索しています。
アドバイスをお願いいたします。
(たいたい) 2021/11/05(金) 09:23
Dim FileName As Variant FileName = Application.GetOpenFilename(FileFilter:="画像ファイル,*.jpg") If FileName = False Then Exit Sub End If With ActiveSheet.Shapes("背景").Fill .Visible = msoTrue .UserPicture FileName ' ここ .TextureTile = msoFalse .RotateWithObject = msoTrue End With (とおりすがり) 2021/11/05(金) 10:19
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.