大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、テキストボックスを縦書きにするなど、文字方向を変更する方法について、ご紹介します。文字方向を変更するには、「.Orientation」を使います。「横書き」、「左に90°回転した横書き」、「右に90°回転した横書き」、「縦書き」、「アルファベットも全て縦書き」にするなど、5パターンの文字方向がありますので、全ての設定について解説していきます。

はじめに

この記事では、テキストボックスを縦書きにする方法について、ご紹介します。

テキストボックスの文字方向を、変更するには、「.Orientation」を使います。

  • 横書き          :msoTextOrientationHorizontal
  • 横書き(左90°回転)   :msoTextOrientationUpward
  • 横書き(右90°回転)   :msoTextOrientationDownward
  • 縦書き          :msoTextOrientationVerticalFarEast
  • 縦書き(アルファベットも):msoTextOrientationHorizontalRotatedFarEast

という感じで、設定すると文字列の方向を、変更することができます。

では、テキストボックスを縦書きに変更する方法について、解説していきます。

この記事で紹介すること

  • テキストボックスの文字方向を変更する方法

目次から見たい項目へ移動すると便利ですよ。

目次

VBAコードまとめ

テキストボックスの文字方向を変更する、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を使う

テキストボックスが既に作成されているとして、「.Orientation」を設定することで、テキストボックスを縦書きにできます。

こんな感じで入力します。

  • Selection.ShapeRange.TextFrame.Orientation = msoTextOrientationVerticalFarEast '縦書き

では、テキストボックスを縦書きにしてみます。

縦書きに変更してみる

横書きに設定されているテキストボックスを、縦書きに変更してみます。

VBAコードは、こんな感じです。

Sub TEST1()
    
    With Selection.ShapeRange.TextFrame
        .Orientation = msoTextOrientationVerticalFarEast '縦書き
    End With
    
End Sub

では、実行してみます。

縦書きにしたいテキストボックスを、選択しておきます。

テキストボックスを選択

実行前のテキストボックスで横書きになっている

実行した後です。

「縦書き」に変更

テキストボックスを縦書きに変更した結果

縦書きに変更できました。

こんな感じで、「.Orientation」を使うと、テキストボックスの文字方向を変更できます。

テキストボックスの文字方向は、他にもありますので、全ての設定をまとめてみました。

テキストボックスの文字列の方向を変更

テキストボックスの文字列の方向について、まとめてみました。

全部で、5つあります。

文字列の方向の一覧

テキストボックスの文字列の方向をまとめると、こんな感じです。

  • 横書き          :msoTextOrientationHorizontal
  • 横書き(左90°回転)   :msoTextOrientationUpward
  • 横書き(右90°回転)   :msoTextOrientationDownward
  • 縦書き          :msoTextOrientationVerticalFarEast
  • 縦書き(アルファベットも):msoTextOrientationHorizontalRotatedFarEast

という感じです。

では、それぞれの文字方向に、テキストボックスを変更してみます。

横書きにする

テキストボックスを横書きにしてみます。

Sub TEST2()
    
    With Selection.ShapeRange.TextFrame
        .Orientation = msoTextOrientationHorizontal '横書き
    End With
        
End Sub

変更したいテキストボックスを選択しておきます。

テキストボックスを選択

変更したいテキストボックスを選択しておく

では、実行してみます。

「横書き」に変更

テキストボックスを横書きにした結果

テキストボックスを横書きに変更できました。

横書きを左に90°回転

次は、テキストボックスを「左に90°回転した横書き」にしてみます。

Sub TEST3()
    
    With Selection.ShapeRange.TextFrame
        .Orientation = msoTextOrientationUpward '左90°回転
    End With
        
End Sub

変更したいテキストボックスを選択しておきます。

テキストボックスを選択

変更したいテキストボックスを選択しておく

では、実行してみます。

「左に90°回転した横書き」に変更

テキストボックスを左に90°回転した横書きにした結果

テキストボックスを「左に90°回転した横書き」に変更できました。

横書きを右に90°回転

次は、テキストボックスを「右に90°回転した横書き」にしてみます。

Sub TEST4()
    
    With Selection.ShapeRange.TextFrame
        .Orientation = msoTextOrientationDownward '右90°回転
    End With
        
End Sub

変更したいテキストボックスを選択しておきます。

テキストボックスを選択

変更したいテキストボックスを選択しておく

では、実行してみます。

「右に90°回転した横書き」に変更

テキストボックスを右に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

変更したいテキストボックスを選択しておきます。

テキストボックスを選択

変更したいテキストボックスを選択しておく

では、実行してみます。

「アルファベットも含めて全て縦書き」に変更

テキストボックスをアルファベットも含めて縦書きにした結果

テキストボックスを「アルファベットも含めて縦書き」に変更できました。

こんな感じで、テキストボックスの文字方向を、変更することができます。

指定したテキストボックスの文字列の方向を変更

指定したテキストボックスの、文字列の方向を変更する場合です。

テキストボックスの名前がわかっている場合に、使えます。

わざわざ選択しておく必要がないので、便利です。

縦書きに変更してみる

指定したテキストボックスの、文字列の方向を変更してみます。

VBAコードは、こんな感じになります。

Sub TEST7()
    
    With ActiveSheet.Shapes("テキスト ボックス 1").TextFrame
        .Orientation = msoTextOrientationVerticalFarEast '縦書き
    End With
        
End Sub

実行する前のテキストボックスです。

指定するテキストボックス

実行する前のテキストボックス

では、実行してみます。

「縦書き」に変更

指定したテキストボックスを縦書きに変更した結果

指定したテキストボックスを、縦書きに変更できました。

オブジェクトを使って文字列の方向を変更

次は、テキストボックスをオブジェクトに格納して、文字列の方向を変更する方法です。

テキストボックスをオブジェクトに変更すると、VBAコードをシンプルにできるので、使えると便利になります。

縦書きに変更してみる

テキストボックスをオブジェクトに格納して、テキストボックスの文字列の方向を、縦書きに変更してみます。

VBAコードは、こんな感じになります。

Sub TEST8()
    
    'オブジェクトに格納
    Set a = ActiveSheet.Shapes("テキスト ボックス 1")
    a.TextFrame.Orientation = msoTextOrientationVerticalFarEast '縦書き
        
End Sub

実行前のテキストボックスです。

実行前のテキストボックス

実行前のテキストボックス

では、実行してみます。

オブジェクトに格納して「縦書き」に変更

テキストボックスをオブジェクトに格納して文字方向を縦書きに変更した結果

テキストボックスを縦書きに変更できました。

テキストボックスの文字方向を変更したい場合は、「.Orientation」です。

おわりに

この記事では、テキストボックスを縦書きにする方法について、ご紹介しました。

テキストボックスの文字方向を、変更するには、「.Orientation」を使います。

  • 横書き          :msoTextOrientationHorizontal
  • 横書き(左90°回転)   :msoTextOrientationUpward
  • 横書き(右90°回転)   :msoTextOrientationDownward
  • 縦書き          :msoTextOrientationVerticalFarEast
  • 縦書き(アルファベットも):msoTextOrientationHorizontalRotatedFarEast

という感じで、設定すると文字列の方向を、変更することができます。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す