Officeスクリプト セル操作まとめ|取得・入力・範囲指定・コピー

OfficeScripts(オフィススクリプト)でセルの操作について紹介します。

セルの選択・取得・コピーから書式変更やセル結合まで一通り紹介しています。

ドノ

説明用スクリプト内のセル範囲変数名は例が入っていますので状況に応じて変更して使用してください。

目次

セルの選択(指定)・セルの値の取得

まずセルの選択とセル値の取得について紹介します。

スクリプト内のセル範囲変数名は例が入っていますので状況に応じて変更して使用してください。

セルの選択・指定

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // セルを選択する。
  let cell = sheet.getRange("A1");  // 任意のセルに変更してください(例: "A1")
}

セルの値の取得

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // セルを選択する。
  let value = sheet.getRange("A1").getValue();  // 任意のセルに変更してください(例: "A1")
}

Sponsored link

セルへの値の書き込み

次にセルへの値の入力について紹介します。

スクリプト内のセル範囲変数名は例が入っていますので状況に応じて変更して使用してください。

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // セルを選択する
  let cell = sheet.getRange("A1");  // 任意のセルに変更してください(例: "A1")

  // セルに値を書き込み
  cell.setValue("Hello");  // 任意の値に変更してください(例: "Hello")
}

Sponsored link

セル範囲の選択(指定)・セル範囲の値の取得

次にセル範囲の選択と取得について紹介します。基本的には一つのセルに対する操作方法と同じで、指定範囲が異なるだけです。

スクリプト内のセル範囲変数名は例が入っていますので状況に応じて変更して使用してください。

セル範囲の選択・指定

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // セル範囲を選択する。
  let range = sheet.getRange("A1:C3");  // 任意のセル範囲に変更してください(例: "A1:C3")
}

セルの値の取得

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // セル範囲を選択する。
  let values = sheet.getRange("A1:C3").getValue();  // 任意のセル範囲に変更してください(例: "A1:C3")
}

Sponsored link

セル範囲への書き込み

次にセル範囲への入力について紹介します。

値の書き込みには指定した範囲と同じ大きさの配列を用います。下記のスクリプト例と出力例を参考にしてください。

function main(workbook: ExcelScript.Workbook) {

 // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // セル範囲を選択する。
  let range = sheet.getRange("A1:C3");  // 任意のセル範囲に変更してください(例: "A1:C3")

  // セル範囲に値を設定する。任意の値に変更してください。
  range.setValues([
    ["値1", "値2", "値3"],
    ["値4", "値5", "値6"],
    ["値7", "値8", "値9"]
  ]);
}

上記のスクリプトを実行するとこのような結果となります。

Sponsored link

セルのクリア

次にセルのクリアついて紹介します。設定を変えることで値のみや書式のみなどのクリアも可能です。

スクリプト内のセル範囲変数名は例が入っていますので状況に応じて変更して使用してください。

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // セルを選択する。
  let cell = sheet.getRange("A1");  // 任意のセルに変更してください(例: "A1")

  // セルの値を削除する。
  cell.clear()
}
clearメソッドの設定

clearメソッドでは()内にクリアする内容を指定することができます。省略した場合はすべてがクリアされます。

  • ExcelScript.ClearApplyTo.all: すべてをクリア
  • ExcelScript.ClearApplyTo.contents: 値のみをクリア
  • ExcelScript.ClearApplyTo.formats: 書式のみをクリア
  • ExcelScript.ClearApplyTo.hyperlinks: ハイパーリンクのみをクリア

Sponsored link

セルのコピー・移動

次にセルのコピーついて紹介します。設定を変えることで値のみや書式のみなどのコピーも可能です。

スクリプト内のセル範囲変数名は例が入っていますので状況に応じて変更して使用してください。

セルのコピー

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // コピー元のセルを選択する。
  let sourceCell = sheet.getRange("A1");  // 任意のセルに変更してください(例: "A1")

  // コピー先のセルを選択する。
  const destinationCell = sheet.getRange("B1");  // 任意のセルに変更してください(例: "B1")

  // コピー元からコピー先に値と書式をコピー
  destinationCell.copyFrom(sourceCell, ExcelScript.RangeCopyType.all);
}
clearメソッドの設定

copyFromメソッドでは()内にコピーする内容を指定することができます。
省略した場合はすべてがコピーされます。

  • ExcelScript.RangeCopyType.all: すべてコピー
  • ExcelScript.RangeCopyType.values: 値のみをコピー
  • ExcelScript.RangeCopyType.formats: 書式のみをコピー
  • ExcelScript.RangeCopyType.formulas: 数式のみをコピー

セルの移動

セルのコピーと途中までは同じ処理です。最後に元セルの値をクリアする部分だけ追加されています。

function main(workbook: ExcelScript.Workbook) {

    // シートを選択する。
    let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

    // コピー元のセルを選択する。
    let sourceCell = sheet.getRange("A1");  // 任意のセルに変更してください(例: "A1")

    // コピー先のセルを選択する。
    const destinationCell = sheet.getRange("B1");  // 任意のセルに変更してください(例: "B1")

    // コピー元からコピー先に値と書式をコピー
    destinationCell.copyFrom(sourceCell, ExcelScript.RangeCopyType.all);

    // コピー元のセルをクリアする。
    sourceCell.clear()
}

Sponsored link

セルの書式設定(色変更・罫線)

次にセルの書式設定ついて紹介します。

スクリプト内のセル範囲変数名は例が入っていますので状況に応じて変更して使用してください。

文字フォントの変更

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // セルを選択する。
  let cell = sheet.getRange("A1");  // 任意のセルに変更してください(例: "A1")

  // フォントの色を変更する。
  cell.getFormat().getFont().setColor("#FF0000");  // 任意の色に変更してください(例: "#FF0000")

}
フォントの設定

copyFontメソッドには下記のようなメソッドがあります。変更したい項目によって設定してください。

  • setColor(color: string):フォントの色を設定します(例: "red""#FF0000")。
  • setSize(size: number):フォントサイズを設定します。
  • setBold(isBold: boolean):太字を設定します。
  • setItalic(isItalic: boolean):斜体を設定します。
  • setUnderline(style: ExcelScript.FontUnderlineStyle):下線を設定します。

背景色の変更

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // セルを選択する。
  let cell = sheet.getRange("A1");  // 任意のセルに変更してください(例: A1")

  // 背景色を設定する。
  cell.getFormat().getFill().setColor("#FF0000");  // 任意の色に変更してください(例: "#FF0000")

}

基本的なカラーコード

色名カラーコード
黒 (Black)#000000
白 (White)#FFFFFF
赤 (Red)#FF0000
緑 (Green)#00FF00
青 (Blue)#0000FF
黄色 (Yellow)#FFFF00
シアン (Cyan)#00FFFF
マゼンタ (Magenta)#FF00FF

罫線(境界線)の設定

function main(workbook: ExcelScript.Workbook) {

    // シートを選択する。
    let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

    // セルを選択する。
    let cell = sheet.getRange("A1");  // 任意のセルに変更してください(例: A1")

    // 罫線を設定する。
    cell.getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeTop).setStyle(ExcelScript.BorderLineStyle.continuous);  //上の罫線
    cell.getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeBottom).setStyle(ExcelScript.BorderLineStyle.continuous);  //下の罫線
    cell.getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeLeft).setStyle(ExcelScript.BorderLineStyle.continuous);  //左の罫線
    cell.getFormat().getRangeBorder(ExcelScript.BorderIndex.edgeRight).setStyle(ExcelScript.BorderLineStyle.continuous);  //右の罫線
}
罫線の種類

setStyleメソッドには下記のような設定値あります。状況に応じて変更してしてください。

  • ExcelScript.BorderLineStyle.continuous:通常の線
  • ExcelScript.BorderLineStyle.dot:点線
  • ExcelScript.BorderLineStyle.dashDot:一点鎖線
  • ExcelScript.BorderLineStyle.dash:破線
  • ExcelScript.BorderLineStyle.dashDotDot:二点鎖線
  • ExcelScript.BorderLineStyle.double:二重線
ドノ

setColorメソッドを用いれば罫線の色を変えることも可能です

Sponsored link

セルの結合・結合解除

最後にセルの結合ついて紹介します。

スクリプト内のセル範囲変数名は例が入っていますので状況に応じて変更して使用してください。

セルの結合

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // 結合するセル範囲を選択する。
  let range = sheet.getRange("A1:C1");  // 任意のセル範囲に変更してください(例: "A1:C1")

  // セルを結合
  range.merge();
}

セルの結合解除

function main(workbook: ExcelScript.Workbook) {

  // シートを選択する。
  let sheet = workbook.getActiveWorksheet(); // 任意のシートに変更してください(例: アクティブシート)

  // 結合セルの範囲を選択する。
  let range = sheet.getRange("A1:C1");  // 任意のセル範囲に変更してください(例: "A1:C1")

  // セルの結合を解除する
  range.unmerge();
}
ドノ

結合されている範囲のどれかひとつのセルを選択しても解除できます

Sponsored link

Officeスクリプトの学習

オフィススクリプトを書籍で学習したいという方はコチラがオススメです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次