ワードアートの形状を設定する方法
ワードアートの形状を設定または取得するには、TextEffectFormat【テキストエフェクトフォーマット】オブジェクトのpresetShape【プリセットシェイプ】プロパティを使用します。
presetShape【プリセットシェイプ】プロパティの書式と設定値の説明
オブジェクト.TextEffect.PresetShape = 設定値
- オブジェクト(必須)
ワードアートを表すShapes【シェイプス】コレクションまたはShape【シェイプ】オブジェクトを指定します。 - 設定値(必須)
ワードアートの形状をMsoPresetTextEffectShape 列挙型の定数または値で指定します。
指定した文字列でワートアートを作成して40種類の形状を表示するコードと解説
Sub ワードアート形状() Dim i As Integer Dim 文字列 As String 文字列 = InputBox("ワードアートの文字列を入力してください。") For i = 1 To 40 With ActiveSheet.Shapes.AddTextEffect( _ PresetTextEffect:=1, Text:=文字列 & i, _ FontName:="游ゴシック", FontSize:=14, _ FontBold:=msoFalse, FontItalic:=msoFalse, _ Left:=Range("B" & i).Left, Top:=Range("B" & i).Top) .TextEffect.PresetShape = i End With Next i End Sub
ワードアートの形状を設定するPresetShape【プリセットシェイプ】プロパティに設定する値とワードアートを表示する位置でセルの行数を兼ねるカウンター変数の「i」を整数型(Integer)で宣言します。
3行目【Dim 文字列 As String】
ワードアートの文字列を格納する変数「文字列」を文字列型(String)で宣言します。
4行目【文字列 = InputBox(“ワードアートの文字列を入力してください。”)】
InputBox【インプットボックス】関数を使用してユーザーにワードアートで使用する文字列を入力してもらい変数「文字列」に代入します。
5行目【For i = 1 To 40】
For Next【フォアネクスト】ステートメントを使用して繰り返し処理の始まりです。カウンター変数「i」に1~40の値を順次代入します。
6行目~10行目【 With ActiveSheet.Shapes.AddTextEffect( _
PresetTextEffect:=1, Text:=文字列 & i, _
FontName:=”游ゴシック”, FontSize:=14, _
FontBold:=msoFalse, FontItalic:=msoFalse, _
Left:=Range(“B” & i).Left, Top:=Range(“B” & i).Top)】
Shapes【シェイプス】コレクションのAddTextEffect【アドテキストエフェクト】メソッドを使用してワードアートを表す、Shape【シェイプ】オブジェクトを作成してWith【ウィズ】ステートメントで指定します。With【ウィズ】ステートメントで指定するときは、戻り値があるため、名前付き引数であっても引数はカッコで囲みます。
ワードアートの文字列を表す、引数Text【テキスト】には、ユーザーが指定した変数文字列を設定して、アンパサンドを使用して
ワードアートの形状を表す値は格納されているカウンター変数「i」を設定してワードアートの形状番号を取得します。
11行目【.TextEffect.PresetShape = i】
Wiht【ウィズ】ステートメントで指定したワードアートを表すShape【シェイプ】オブジェクトのTextEffect.PresetShapeプロパティにカウンター変数iに格納されている値を設定して40種類のワードアートの形状を表示します。
実行結果
以上で、ワードアートの形状を設定する方法についての解説を終了します。ありがとうございました。