こんにちは!今日はGoogle Apps Script(GAS)におけるgetTextRotation()
メソッドについて、初心者でもわかりやすく解説するけんね。実はこれ、スプレッドシートのセル内にあるテキストの回転角度を取得できるメソッドで、業務でもよく使われる便利な機能ばい。では、早速詳しく見ていこう!
1. getTextRotation()メソッドの基本を知ろう
1.1 メソッドの使い方と戻り値
まずは、getTextRotation()
メソッドの基本的な使い方を紹介するけ。このメソッドを使うと、セル内のテキストがどんな角度で回転しているかがわかるよ。
const rotation = range.getTextRotation();
このコードで、range
は取得したいセル範囲(例えばSpreadsheetApp.getActiveSpreadsheet().getRange()
)を指すんやけど、これでテキストの回転角度や縦書きかどうかがわかるんだね。
返ってくるTextRotation
オブジェクトには、以下のプロパティがあるんよ。
degrees
: テキストの回転角度(整数)isVertical
: テキストが縦書きかどうか(真偽値)
1.2 角度の取り扱い
テキストの回転は、角度によって反時計回りや時計回りで変わるけど、縦書き設定がされてる場合は角度設定は無視される点に注意が必要ばい。
2. 実際にコードを書いてみよう
2.1 単一セルの回転を確認
例えば、B2セルの回転角度を確認したい場合は、こんな風に書くことができるんよ。
function getSingleCellRotation() {
const sheet = SpreadsheetApp.getActiveSheet();
const cell = sheet.getRange("B2");
const rotation = cell.getTextRotation();
Logger.log(`回転角度: ${rotation.getDegrees()}度`);
Logger.log(`縦書き状態: ${rotation.isVertical() ? "有効" : "無効"}`);
}
これで、B2セルがどう回転してるかが分かるわけよ。すごく簡単じゃろ?
2.2 複数セルをまとめて確認
もし、範囲内にある複数のセルの回転情報を知りたい場合は、以下のように書くといいよ。
function getRangeRotations() {
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange("B2:D4");
const rotations = range.getTextRotations();
rotations.forEach((row, rowIndex) => {
row.forEach((cellRotation, colIndex) => {
console.log(`セル[${rowIndex+2},${colIndex+2}] 角度: ${cellRotation.getDegrees()}度`);
});
});
}
getTextRotations()
を使うことで、範囲内の全セルの回転を一気に取得できるけん、便利じゃろ?
3. 応用編!実践的な活用法
3.1 特定の角度に回転したセルをハイライト
例えば、45度回転したセルを見つけて、色を変えるような場合にはこんなコードが使えるよ。
function highlightSpecificRotations() {
const sheet = SpreadsheetApp.getActiveSheet();
const dataRange = sheet.getDataRange();
const rotations = dataRange.getTextRotations();
rotations.forEach((row, r) => {
row.forEach((rotation, c) => {
if (rotation.getDegrees() === 45) {
sheet.getRange(r+1, c+1)
.setBackground("#FFF2CC");
}
});
});
}
こうやって、データの視覚的強調を簡単にできるけ。これ、データ分析とかで重宝するばい!
3.2 書式設定の複製
別のセル範囲に、あるセルの回転書式をそのままコピーすることもできるんだね。
function copyRotationFormat() {
const sheet = SpreadsheetApp.getActiveSheet();
const source = sheet.getRange("E5");
const target = sheet.getRange("B2:D4");
const rotationTemplate = source.getTextRotation();
target.setTextRotation(rotationTemplate);
}
これで、E5の回転設定を一括でB2:D4範囲に適用できるけ、便利やろ?
4. まとめ
getTextRotation()
メソッドは、スプレッドシートの見た目をプログラムで調整する際に超便利なツールやけん、ぜひ使いこなしてほしいばい!基本的な使い方から、実務で活かせる応用例まで紹介したけど、実際の業務で活躍させるには、こういったコードを組み合わせることが大事よ。
パフォーマンスを気にしながらデータを処理する方法や、エラー処理の実装も忘れずにね。これで、回転の管理も楽々だし、業務効率化にもつながるんよ。今後の開発に活かしていこうぜ!


コメント