Office Scripts

[Office Scripts]指定した列の最終セルを取得する方法(2)

Office スクリプトで指定した列の最終セルを取得する方法として、これまでgetSpecialCellsメソッドを使ったりgetRangeEdgeメソッドを使ったり色々と試行錯誤をしていたわけですが、今日Stack Overflowを見ていて、もっと簡単な方法があることを知りました。

function main(workbook: ExcelScript.Workbook){
  let wrkSh = workbook.getWorksheet("in_t")
  let lastRow = wrkSh.getRange("A:A").getUsedRange(true).getLastCell();
  console.log(lastRow.getValue())
}

https://stackoverflow.com/questions/68199230/vba-rangea1048576-endxlup-row-in-javascript-excel-api より

なるほど。
getRangeメソッドで取得したセルに対してgetUsedRangeメソッドを使えば良いわけですね!

もちろん、これまでもgetUsedRangeメソッドを使ったことはありますが、Worksheetオブジェクトに対して使っていて、Rangeオブジェクトに対して使うという発想がありませんでした。完全に盲点!恥ずかしくなるレベルの見落としです。

とはいえ、これでようやく簡単に最終セルを取得する方法が分かりましたので、改めてコードを書いてみました。

上記の通り、ほんの数行です。
唯一工夫した点と言えば、getLastCellメソッドが失敗する未使用の列を指定した際に1行目のセルを返すようにしているところでしょうか。

下記記事ではgetRangeEdgeメソッドを使っていたため、Power Automateからの呼び出しではエラーになってしまいましたが、上記コードであれば問題無く実行できます。

関連記事

2021年6月の人気記事前のページ

Power Automate DesktopでPPAPしてみた。次のページ

関連記事

  1. Office Scripts

    [Office Scripts]指定した列の最終セルを取得する方法

    2021/7/5 追記:さらに簡単に指定した列の最終セルを取得する…

  2. Office Scripts

    [Office Scripts]SharePointでスクリプトを保存・実行できるようになりました。…

    以前から下記ロードマップに載せられていた、SharePointでOff…

  3. Office Scripts

    [Office Scripts]シート上のすべての図形に対して処理を行う方法

    Office Scriptsでは、下記コードの通り(Worksheet…

  4. Office Scripts

    [Office Scripts]ウィンドウ枠の固定と解除を行う方法

    今回は、Office Scriptsでウィンドウ枠の固定と解除を行う方…

  5. Office Scripts

    [Office Scripts]スクリプトを共有する方法

    Office Scriptsは、作成したスクリプトを組織内で他のユーザ…

  6. Office Scripts

    Microsoft 365 Virtual Marathon 2021でOffice Scripts…

    先月末(日本時間だと4月27日 ~ 29日にかけて)にMicrosof…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP