Googleスプレッドシートを使っていると、「テキストを上下どこに配置するか」を調整したくなることがあるばい。そんなときに役立つのが、GAS(Google Apps Script)の getVerticalAlignment()
メソッドじゃ。本記事では、このメソッドを使いこなす方法を、実践的なスクリプト例とともに解説するばい!
1. getVerticalAlignment() メソッドとは?
GASを使うと、スプレッドシートのセル内のテキスト配置を取得・設定できるんじゃ。この getVerticalAlignment()
は、特定のセルの垂直配置を取得するメソッドで、以下の3種類の値を返すばい。
top
(上寄せ)middle
(中央揃え)bottom
(下寄せ)
例えば、セル A1 の垂直配置を取得するスクリプトはこんな感じじゃ。
function checkVerticalAlignment() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("A1");
Logger.log(range.getVerticalAlignment());
}
このコードを実行すると、現在の A1 セルの垂直配置がログに表示されるさ。
2. 垂直配置を変更する方法
getVerticalAlignment()
は取得専用のメソッドばってん、配置を変更したいときは setVerticalAlignment()
を使うばい。
function setVerticalAlignmentExample() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("A1:C3");
range.setVerticalAlignment("middle"); // A1~C3のセルを中央揃えにする
}
これを実行すると、指定した範囲のセルが中央揃えになるばい。
3. 複数セルの配置を一括取得・変更する
スプレッドシートの広範囲に適用するときは、一括取得・設定メソッドを活用すると効率的じゃ。
一括取得(getVerticalAlignments())
function getMultipleVerticalAlignments() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("A1:C3");
const alignments = range.getVerticalAlignments();
Logger.log(alignments);
}
getVerticalAlignments()
を使うと、セルごとの配置状態を二次元配列で取得できるばい。
一括設定(setVerticalAlignments())
function setMultipleVerticalAlignments() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange("A1:C3");
const alignments = [["top", "middle", "bottom"], ["bottom", "middle", "top"], ["middle", "top", "bottom"]];
range.setVerticalAlignments(alignments);
}
このスクリプトでは、A1~C3の各セルに異なる垂直配置を適用するばい。
4. 応用テクニック
セルの内容に応じた自動配置
例えば、セルの内容が長いときは「上揃え」、短いときは「中央揃え」にする自動処理を作ることもできるけ!
function autoAdjustVerticalAlignment() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getDataRange();
const values = range.getValues();
let alignments = [];
values.forEach(row => {
let alignmentRow = [];
row.forEach(cell => {
if (cell.toString().length > 50) {
alignmentRow.push("top");
} else {
alignmentRow.push("middle");
}
});
alignments.push(alignmentRow);
});
range.setVerticalAlignments(alignments);
}
これで、長いテキストは上寄せ、短いテキストは中央揃えに自動設定されるばい。
5. まとめ
GASの getVerticalAlignment()
メソッドとその関連メソッドを活用すれば、スプレッドシートの視認性を向上させることができるじゃ。
getVerticalAlignment()
で単一セルの配置を取得setVerticalAlignment()
で特定範囲の配置を設定getVerticalAlignments()
&setVerticalAlignments()
で複数セルを一括操作- スクリプトを工夫すれば、自動配置調整も可能
これらを活用して、より見やすく使いやすいスプレッドシートを作ってみるばい!
コメント