GAS PR

[GAS]テキストの回転角度や方向を取得・設定する方法 -Rangeクラス-

記事内に商品プロモーションを含む場合があります

Google Apps Script (GAS) でこのセル範囲のセルのテキストの回転角度や方向を取得・設定する方法を説明します。

Rangeクラスのメソッドを利用した手順について説明します。

Google Apps Scriptの基本的な使い方については下記をご覧ください。

GASによるスプレッドシート操作の概要

GASでスプレッドシートを操作するための「SpreadSheetサービス」は、主に下記のクラスで構成されています。

クラス説明
SpreadSheetAppSpreadSheetサービスの親クラス
Spreadsheetスプレッドシートを操作するクラス
Sheetシートを操作するクラス
Rangeセル範囲を操作するクラス

それぞれ下記のような位置付けになります。

「SpreadSheetApp」→「SpreadSheet」→「Sheet」→「Range」という順の階層構造になっています。操作対象に応じて、下の階層にたどってオブジェクトを取得して利用します。

このページでは、上記の中のRangeクラスの下記のメソッドについて説明します。

メソッド戻り値説明
getTextRotation()TextRotationこのセル範囲の左上のセルのテキストの回転設定を取得する
getTextRotations()TextRotation[][]このセル範囲のセルのテキストの回転設定を配列で一括取得する
setTextRotation(degrees)Rangeこのセル範囲のセルのテキストの回転設定の角度を一括設定する
setTextRotation(rotation)Rangeこのセル範囲のセルのテキストの回転設定を一括設定する
setTextRotations(rotations)Stringこのセル範囲のセルのテキストの回転設定を配列で一括設定する
setVerticalText(isVertical)Rangeこのセル範囲のセルのテキストの縦書き設定を設定する
getTextDirection()TextDirectionこのセル範囲の左上のセルのテキストの方向を取得する
getTextDirections()TextDirection[][]このセル範囲のセルのテキストの方向を配列で一括取得する
setTextDirection(direction)Rangeこのセル範囲のセルのテキストの方向を一括設定する
setTextDirections(directions)Rangeこのセル範囲のセルのテキストの方向を配列で一括設定する

このセル範囲のセルのテキストの回転設定を取得・設定する

このセル範囲のセルのテキストの回転設定を取得・設定するメソッドを説明します。

このセル範囲の左上のセルのテキストの回転設定を取得する:getTextRotation()

このセル範囲の左上のセルのテキストの回転設定を取得する方法です。

戻り値は、TextRotationクラスです。
TextRotationクラスには、getDegreesメソッドと、isVerticalメソッドがあり、それぞれ回転角度と縦書きかどうかを取得できます。

下記のように実行します。

下記のような実行結果になります。左上セルのテキストの回転設定を取得できます。

このセル範囲のセルのテキストの回転設定を配列で一括取得する:getTextRotations()

このセル範囲のセルのテキストの回転設定を配列で一括取得する方法です。

戻り値は、TextRotationクラスです。
TextRotationクラスには、getDegreesメソッドと、isVerticalメソッドがあり、それぞれ回転角度と縦書きかどうかを取得できます。

下記のように実行します。

下記のような実行結果になります。セルのテキストの回転設定を配列で取得できます。

このセル範囲のセルのテキストの回転設定の角度を一括設定する:setTextRotation(degrees)

このセル範囲のセルのテキストの回転設定を角度で一括設定する方法です。

引数は角度で指定します。角度がプラスの場合は反時計回りの方向、マイナスの場合は時計回りの方向に回転します。

下記のように実行します。

下記のファイルで実行してみます。

下記のような実行結果になります。セルのテキストの回転設定を指定した値で一括設定できます。

このセル範囲のセルのテキストの回転設定を一括設定する:setTextRotation(rotation)

このセル範囲のセルのテキストの回転設定を一括設定する方法です。

引数はTextRotationクラスで指定します。

下記のように実行します。

下記のファイルで実行してみます。

下記のような実行結果になります。E5セルの回転設定をB2:C3セルに一括設定できます。

このセル範囲のセルのテキストの回転設定を配列で一括設定する:setTextRotations(rotations)

このセル範囲のセルのテキストの回転設定を配列で一括設定する方法です。

引数はTextRotationクラスで指定します。

下記のように実行します。

下記のファイルで実行してみます。

下記のような実行結果になります。D4:E5セルの回転設定をB2:C3セルに一括設定できます。

このセル範囲のセルのテキストの縦書き設定を設定する:setVerticalText(isVertical)

このセル範囲のセルのテキストの縦書き設定を一括設定する方法です。

下記のように実行します。

下記のファイルで実行してみます。

下記のような実行結果になります。セルのテキストを縦書きに一括設定できます。

テキストの縦書き設定を取得したい場合は、getTextRotationメソッドやgetTextRotationsメソッドの戻り値TextRotationクラスのisVerticalメソッドで取得できます。

このセル範囲のセルのテキストの方向を取得・設定する

このセル範囲のセルのテキストの方向を取得・設定するメソッドを説明します。

テキストの方向とは、スプレッドシートの「表示形式」→「方向」の下記の設定のことです。

上記のメニューが表示されない場合は、下記の「設定」で、「右から左への言語オプションを常に表示する」にチェックを入れてください。

この設定ですが、メニューから実施してもGASから実施しても確認した限りでは想定通りではありませんでした。

“ABCDEF”と入力したセルでそれぞれの設定を見比べると、「右から左へ」に設定した方は”FEDCBA”となる想定でしたが、実際は右寄せにはなっていますが左から右”ABCDEF”へ並んだままです。

入力モードの状態でも、一番左にカーソルが表示されますが、表示は左から右のままです。

ただし、テキストを縦書きにした場合では、下記のように正しく右から左になっています。

自分の想定が間違っているのか、不具合なのかはわかりませんが、上記の動作になるため、よく検証して利用することをおすすめします。

このセル範囲の左上のセルのテキストの方向を取得する:getTextDirection()

このセル範囲の左上のセルのテキストの方向を取得する方法です。

左から右(デフォルト)の場合はLEFT_TO_RIGHT、右から左の場合はRIGHT_TO_LEFTを返します。

下記のように実行します。

下記のような実行結果になります。左上セルのテキストの回転設定を取得できます。

このセル範囲のセルのテキストの方向を配列で一括取得する:getTextDirections()

このセル範囲のセルのテキストの方向を配列で一括取得する方法です。

左から右(デフォルト)の場合はLEFT_TO_RIGHT、右から左の場合はRIGHT_TO_LEFTを返します。

下記のように実行します。

下記のような実行結果になります。セルのテキストの方向を配列で一括取得できます。

このセル範囲のセルのテキストの方向を一括設定する:setTextDirection(direction)

このセル範囲のセルのテキストの方向を一括設定する方法です。

引数には、下記のいずれかの設定を使用します。

設定テキストの方向
SpreadsheetApp.TextDirection.LEFT_TO_RIGHT左から右へ(デフォルト)
SpreadsheetApp.TextDirection.RIGHT_TO_LEFT右から左へ

下記のように実行します。

下記のファイルで実行してみます。変化がわかるよう縦書きにしています。

下記のような実行結果になります。セルのテキストの方向を指定した値で一括設定できます。

このセル範囲のセルのテキストの方向を配列で一括設定する:setTextDirections(directions)

このセル範囲のセルのテキストの方向を配列で一括設定する方法です。セル毎に異なる設定を指定したい場合は、このメソッドを利用します。

引数には、下記のいずれかの設定を使用します。

設定テキストの方向
SpreadsheetApp.TextDirection.LEFT_TO_RIGHT左から右へ(デフォルト)
SpreadsheetApp.TextDirection.RIGHT_TO_LEFT右から左へ

下記のように実行します。

下記のファイルで実行してみます。変化がわかるよう縦書きにしています。

下記のような実行結果になります。セルのテキストの方向を指定した値で一括設定できます。

まとめ

Google Apps Script (GAS) でこのセル範囲のセルのテキストの回転角度や方向を取得・設定する方法を説明しました。

GASは無料で利用できてとても便利なツールです。

Googleスプレッドシート等のGoogleアプリケーションを利用されている方は、GASを習得することで作業を大きく効率化できます

GASの基本構文を知りたい方は、下記もご覧ください。