大体でIT
大体でIT
Excel VBAで、テキストボックスを「縦書き」にするなど、「文字方向を変更」するには、「.Orientation」を使います。「横書き」、「左に90°回転した横書き」、「右に90°回転した横書き」、「縦書き」、「アルファベットも全て縦書き」にする方法について解説していきます。
この記事では、テキストボックスを縦書きにする方法について、ご紹介します。
テキストボックスの文字方向を、変更するには、「.Orientation」を使います。
- 横書き :msoTextOrientationHorizontal
- 横書き(左90°回転) :msoTextOrientationUpward
- 横書き(右90°回転) :msoTextOrientationDownward
- 縦書き :msoTextOrientationVerticalFarEast
- 縦書き(アルファベットも):msoTextOrientationHorizontalRotatedFarEast
という感じで、設定すると文字列の方向を、変更することができます。
では、テキストボックスを縦書きに変更する方法について、解説していきます。
テキストボックスの文字方向を変更する、VBAコードをまとめておきます。
VBAコードだけ確認したい場合に、ご活用ください。
'選択したテキストボックスの文字方向を変更
With Selection.ShapeRange.TextFrame
.Orientation = msoTextOrientationHorizontal '横書き
.Orientation = msoTextOrientationUpward '左90°回転
.Orientation = msoTextOrientationDownward '右90°回転
.Orientation = msoTextOrientationVerticalFarEast '縦書き
.Orientation = msoTextOrientationHorizontalRotatedFarEast '全て縦書き
End With
'指定したテキストボックスの文字方向を変更
With ActiveSheet.Shapes("テキスト ボックス 1").TextFrame
.Orientation = msoTextOrientationHorizontal '横書き
.Orientation = msoTextOrientationUpward '左90°回転
.Orientation = msoTextOrientationDownward '右90°回転
.Orientation = msoTextOrientationVerticalFarEast '縦書き
.Orientation = msoTextOrientationHorizontalRotatedFarEast '全て縦書き
End With
'オブジェクトに格納して文字方向を変更
Set a = ActiveSheet.Shapes("テキスト ボックス 1")
With a.TextFrame
.Orientation = msoTextOrientationHorizontal '横書き
.Orientation = msoTextOrientationUpward '左90°回転
.Orientation = msoTextOrientationDownward '右90°回転
.Orientation = msoTextOrientationVerticalFarEast '縦書き
.Orientation = msoTextOrientationHorizontalRotatedFarEast '全て縦書き
End With
テキストボックスを縦書きにするには、「.Orientation」を使うとできます。
テキストボックスが既に作成されているとして、「.Orientation」を設定することで、テキストボックスを縦書きにできます。
- Selection.ShapeRange.TextFrame.Orientation = msoTextOrientationVerticalFarEast '縦書き
横書きに設定されているテキストボックスを、縦書きに変更してみます。
Sub TEST1()
With Selection.ShapeRange.TextFrame
.Orientation = msoTextOrientationVerticalFarEast '縦書き
End With
End Sub
縦書きにしたいテキストボックスを、選択しておきます。
テキストボックスを選択
「縦書き」に変更
こんな感じで、「.Orientation」を使うと、テキストボックスの文字方向を変更できます。
テキストボックスの文字方向は、他にもありますので、全ての設定をまとめてみました。
テキストボックスの文字列の方向について、まとめてみました。
テキストボックスの文字列の方向をまとめると、こんな感じです。
- 横書き :msoTextOrientationHorizontal
- 横書き(左90°回転) :msoTextOrientationUpward
- 横書き(右90°回転) :msoTextOrientationDownward
- 縦書き :msoTextOrientationVerticalFarEast
- 縦書き(アルファベットも):msoTextOrientationHorizontalRotatedFarEast
では、それぞれの文字方向に、テキストボックスを変更してみます。
Sub TEST2()
With Selection.ShapeRange.TextFrame
.Orientation = msoTextOrientationHorizontal '横書き
End With
End Sub
テキストボックスを選択
「横書き」に変更
次は、テキストボックスを「左に90°回転した横書き」にしてみます。
Sub TEST3()
With Selection.ShapeRange.TextFrame
.Orientation = msoTextOrientationUpward '左90°回転
End With
End Sub
テキストボックスを選択
「左に90°回転した横書き」に変更
テキストボックスを「左に90°回転した横書き」に変更できました。
次は、テキストボックスを「右に90°回転した横書き」にしてみます。
Sub TEST4()
With Selection.ShapeRange.TextFrame
.Orientation = msoTextOrientationDownward '右90°回転
End With
End Sub
テキストボックスを選択
「右に90°回転した横書き」に変更
テキストボックスを「右に90°回転した横書き」に変更できました。
Sub TEST5()
With Selection.ShapeRange.TextFrame
.Orientation = msoTextOrientationVerticalFarEast '縦書き
End With
End Sub
テキストボックスを選択
「縦書き」に変更
次は、テキストボックスを「アルファベットも含めて縦書き」にしてみます。
Sub TEST6()
With Selection.ShapeRange.TextFrame
.Orientation = msoTextOrientationHorizontalRotatedFarEast '全て縦書き
End With
End Sub
テキストボックスを選択
「アルファベットも含めて全て縦書き」に変更
テキストボックスを「アルファベットも含めて縦書き」に変更できました。
こんな感じで、テキストボックスの文字方向を、変更することができます。
指定したテキストボックスの、文字列の方向を変更する場合です。
テキストボックスの名前がわかっている場合に、使えます。
指定したテキストボックスの、文字列の方向を変更してみます。
Sub TEST7()
With ActiveSheet.Shapes("テキスト ボックス 1").TextFrame
.Orientation = msoTextOrientationVerticalFarEast '縦書き
End With
End Sub
指定するテキストボックス
「縦書き」に変更
指定したテキストボックスを、縦書きに変更できました。
次は、テキストボックスをオブジェクトに格納して、文字列の方向を変更する方法です。
テキストボックスをオブジェクトに変更すると、VBAコードをシンプルにできるので、使えると便利になります。
テキストボックスをオブジェクトに格納して、テキストボックスの文字列の方向を、縦書きに変更してみます。
Sub TEST8()
'オブジェクトに格納
Set a = ActiveSheet.Shapes("テキスト ボックス 1")
a.TextFrame.Orientation = msoTextOrientationVerticalFarEast '縦書き
End Sub
実行前のテキストボックス
オブジェクトに格納して「縦書き」に変更
テキストボックスの文字方向を変更したい場合は、「.Orientation」です。
この記事では、テキストボックスを縦書きにする方法について、ご紹介しました。
テキストボックスの文字方向を、変更するには、「.Orientation」を使います。
- 横書き :msoTextOrientationHorizontal
- 横書き(左90°回転) :msoTextOrientationUpward
- 横書き(右90°回転) :msoTextOrientationDownward
- 縦書き :msoTextOrientationVerticalFarEast
- 縦書き(アルファベットも):msoTextOrientationHorizontalRotatedFarEast
という感じで、設定すると文字列の方向を、変更することができます。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。