Excel VBA ワードアートを作成する Shapes.AddTextEffectメソッド

スポンサーリンク

ワードアートを作成する方法

ワードアートを表す、Shape【シェイプ】オブジェクトを作成するには、Shapes【シェイプス】コレクションのAddTextEffect【アドテキストエフェクト】メソッドを使用します。

Shapes.AddTextEffect【アドテキストエフェクト】メソッドの書式と設定値(引数)の説明

オブジェクト.Shapes.AddTextEffect( PresetTextEffect, Text,
FontName, FontSize, FontBold, FontItalic, Left, Top )

  • オブジェクト(必須)
    Worksheetオブジェクトを指定します。
  • PresetTextEffect【プリセットテキストエフェクト】(必須)
    既定のワードアート スタイルをMsoPresetTextEffect 列挙型の定数で指定します。


  • Text【テキスト】(必須)
    ワードアートの文字列を指定します。
  • FontName【フォントネーム】(必須)
    ワードアートのフォント名を指定します。
  • FontSize【フォントサイズ】(必須)
    フォント サイズをポイント単位で指定します。
  • FontBold【フォントボールド】(必須)
    スタイルを太字にするかどうかを設定します。MsoTriState 列挙型の定数で指定します。

    MsoTriState 列挙型の定数
    定数 内容
    msoFalse 0 太字にしません。
    msoTrue ‐1 太字にします。

  • FontItalic【フォントイタリック】(必須)
    スタイルを斜体にするかどうかを設定します。MsoTriState 列挙型の定数で指定します。

    MsoTriState 列挙型の定数
    定数 内容
    msoFalse 0 斜体にしません。
    msoTrue ‐1 斜体にします。

  • Left【レフト】(必須)
    文書の左上隅を基準にしてワードアートの境界ボックスの左上隅の位置をポイント単位で指定します。
  • Top【トップ】(必須)
    文書の上端を基準にしてワードアートの境界ボックスの左上隅の位置をポイント単位で指定します。

指定した文字列ですべてのワードアートスタイルを表示するコードと解説

Sub ワードアート()
Dim i As Integer
Dim 文字列 As String
文字列 = InputBox("ワードアートの文字列を入力してください。")
For i = 1 To 50
ActiveSheet.Shapes.AddTextEffect _
PresetTextEffect:=i - 1, Text:=文字列, _
FontName:="游ゴシック", FontSize:=14, _
FontBold:=msoFalse, FontItalic:=msoFalse, _
Left:=Range("B" & i).Left, Top:=Range("B" & i).Top
Next i
End Sub
2行目【Dim i As Integer】
既定のワードアートのスタイルを表す引数PresetTextEffect【プリセットテキストエフェクト】に設定する値と表示する位置を表すセルの行数を兼ねるカウンター変数「i」を整数型(Integer)で宣言します。


3行目【Dim 文字列 As String】
InputBox【インプットボックス】関数でユーザーから受け取るワードアートの文字列を格納する
変数「文字列」を文字列型(String)で宣言します。


4行目【文字列 = InputBox(“ワードアートの文字列を入力してください。”)】
InputBox【インプットボックス】関数を利用してユーザーから、ワードアートで使用する文字列を受け取り変数「文字列」に代入します。


5行目【For i = 1 To 50】
For Next【フォアネクスト】ステートメントを使用して繰り返し処理の始まりです。


6行目~10行目【ActiveSheet.Shapes.AddTextEffect _
PresetTextEffect:=i – 1, Text:=文字列, _
FontName:=”游ゴシック”, FontSize:=14, _
FontBold:=msoFalse, FontItalic:=msoFalse, _
Left:=Range(“B” & i).Left, Top:=Range(“B” & i).Top】

Worksheet【ワークシート】オブジェクトのAddTextEffect【アドテキストエフェクト】メソッドでワードアートを作成します。ワードアートのスタイルを表す引数PresetTextEffect【プリセットテキストエフェクト】にはカウンター変数「i」から1減算した値を設定します。1減算する理由は設定値が0から始まるからです。ワードアートの文字列を表す引数Text【テキスト】には変数「文字列」を設定します。
ワードアート範囲の境界の左上隅の位置を表す引数Left【レフト】はRange【レンジ】オブジェクトのLeftプロパティを使用してセルの位置をポイント単位に変換して設定します。ワードアート範囲の境界の上端の位置を表す引数Top【トップ】はRange【レンジ】オブジェクトのTop【トップ】プロパティを使用してセルの位置をポイント単位に変換して設定します。


実行結果



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

スポンサーリンク

関連記事・広告