【Power Automate Desktop】「JavaScriptを実行」を使って日時から月や日を取得する

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Power Automate Desktop】「JavaScriptを実行」を使って日時から月や日を取得する

Power Automate Desktopの「JavaScriptを実行」を使ってExcelの日時から「月」と「日」取得したい!

概要

この記事では、Power Automate Desktopの「JavaScriptを実行」を使ってExcelの日時から「月」と「日」を取得する手順を掲載する。

仕様書

環境

  • Power Automate 2.46.162.24194

手順書

Excelのセルに保存された日時(yyyy/MM/dd HH:mm:ss)から月(MM)と日(dd)を取得する例。

自動入力したい先の月日の入力のフォームがそれぞれコンボボックスになってる場合とかに使えそう。

0埋めされてる場合は先頭の0を取り除く。

月を取得する例。

var n = '%CurrentRow['datetime']%';
var regex = /\d{4}\/(\d{2})\/(\d{2})/;
var match = n.match(regex);
var m = match[1];
var r = m.replace(/^0/, '');
WScript.StdOut.Write(r);

日を取得する例。

var n = '%CurrentRow['datetime']%';
var regex = /\d{4}\/(\d{2})\/(\d{2})/;
var match = n.match(regex);
var m = match[2];
var r = m.replace(/^0/, '');
WScript.StdOut.Write(r);

Excelで読み取った日時のデータが%CurrentRow['datetime']%に入ってるとする。

正規表現を使ってyyyy/MM/ddの部分を抽出する。match[0]に年、match[1]に月、match[2]に日がそれぞれ抽出される。

replace(/^0/, '')で先頭の0埋めの0が存在する場合は削除する。

戻り値をWScript.StdOut.Write()の引数として渡す。

まとめ(感想文)

この「JavaScriptを実行」は、まともなデバッグ機能がないのがしんどい!シンタックスエラーくらいは表示してほしいと思う今日この頃。