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 列挙型の定数
    定数内容
    msoFalse0太字にしません。
    msoTrue‐1太字にします。

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

    MsoTriState 列挙型の定数
    定数内容
    msoFalse0斜体にしません。
    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プロパティを使用して
セルの位置をポイント単位に変換して設定します。


実行結果



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

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

フォローする

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