Excel VBA ワードアートの形状を設定する PresetShape プロパティ

スポンサーリンク
スポンサーリンク

ワードアートの形状を設定する方法

ワードアートの形状を設定または取得するには
TextEffectFormat【テキストエフェクトフォーマット】オブジェクトの
presetShape【プリセットシェイプ】プロパティを使用します。

presetShape【プリセットシェイプ】プロパティの書式

オブジェクト.TextEffect.PresetShape = 設定値


設定値の説明

  • オブジェクト(必須)
    ワードアートを表す
    Shapes【シェイプス】コレクションまたはShape【シェイプ】オブジェクトを指定します。
  • 設定値(必須)
    ワードアートの形状を
    MsoPresetTextEffectShape 列挙型の定数または値で指定します。

    MsoPresetTextEffectShape 列挙型の定数
    定数イメージ
    msoTextEffectShapePlainText1
    msoTextEffectShapeStop2
    msoTextEffectShapeTriangleUp3
    msoTextEffectShapeTriangleDown4
    msoTextEffectShapeChevronUp5
    msoTextEffectShapeChevronDown6
    msoTextEffectShapeRingInside7
    msoTextEffectShapeRingOutside8
    msoTextEffectShapeButtonCurve9
    msoTextEffectShapeArchDownCurve10
    msoTextEffectShapeCircleCurve11
    msoTextEffectShapeArchUpCurve12
    msoTextEffectShapeArchUpPour13
    msoTextEffectShapeArchDownPour14
    msoTextEffectShapeCirclePour15
    msoTextEffectShapeButtonPour16
    msoTextEffectShapeCurveUp17
    msoTextEffectShapeCurveDown18
    msoTextEffectShapeCanUp19
    msoTextEffectShapeCanDown20
    msoTextEffectShapeWave121
    msoTextEffectShapeWave222
    msoTextEffectShapeDoubleWave123
    msoTextEffectShapeDoubleWave224
    msoTextEffectShapeInflate25
    msoTextEffectShapeDeflate26
    msoTextEffectShapeInflateBottom27
    msoTextEffectShapeDeflateBottom28
    msoTextEffectShapeInflateTop29
    msoTextEffectShapeDeflateTop30
    msoTextEffectShapeDeflateInflate31
    msoTextEffectShapeDeflateInflateDeflate32
    msoTextEffectShapeFadeRight33
    msoTextEffectShapeFadeLeft34
    msoTextEffectShapeFadeUp35
    msoTextEffectShapeFadeDown36
    msoTextEffectShapeSlantUp37
    msoTextEffectShapeSlantDown38
    msoTextEffectShapeCascadeUp39
    msoTextEffectShapeCascadeDown40

指定した文字列でワートアートを作成して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

コードの解説

2行目
【Dim i As Integer】

ワードアートの形状を設定する
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種類のワードアートの形状を表示します。


実行結果



以上で
ワードアートの形状を設定する方法についての解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク