※この記事は2023年6月にシナリオ実行した結果をもとに記述しています
はじめに
何らかのデータをダウンロードする際、当月の1日から今日まで、のように月の初日を指定することがよくあります。 そこで今回はWinActor®で月の初日(1日)の日付を取得する方法についてご紹介します。
当月の初日を取得する
まずシナリオ実行日当月の初日を取得してみましょう。 処理の流れは以下の通りです。
【流れ】 ① 当月の日付を「yyyy/mm」形式で取得する ② 1日の日付に変換する
完成シナリオは以下のようになります。 では、細かい設定を見ていきましょう。
<事前準備>
事前準備として、使用する以下の変数を作成しておきます。(初期値の設定は不要です。) ・当月 ・当月1日
① 当月の日付を「yyyy/mm」形式で取得する
シナリオ実行日当月の日付を「yyyy/mm」の形式で取得します。 WinActor®の左側[ライブラリ]タブ>[08_日付関連]> [日付取得(書式設定)]ライブラリを選択し、シナリオ内にドラッグ&ドロップで配置します。
シナリオ内に配置した[日付取得(書式設定)]ライブラリをダブルクリックし、プロパティ画面で詳細設定をおこないます。 以下のように設定します。
【設定内容】 ・フォーマット:yyyy/mm ・区切り文字:/ ・結果格納先:変数「当月」 ※事前準備で作成した変数
② 1日の日付に変換する
①で取得した「yyyy/mm」を初日の日付に変換します。 WinActor®の左側 [ライブラリ]タブ > [07_文字列操作] > [03_連結] > [文字列の連結(2つ)] ライブラリを選択し、シナリオ内にドラッグ&ドロップで追加します。
シナリオ内に追加した [文字列の連結(2つ)] ライブラリをダブルクリックして、プロパティ画面を開きます。 以下のように詳細内容を設定します。
【設定内容】
・文字列1:変数「当月」 ※①で「yyyy/mm」を格納した変数 ・文字列2:/01 ・連結結果:変数「当月1日」 ※事前準備で作成した変数
設定はこれで終わりです! 実行して結果を確認してみましょう。 変数の値を確認するために、最後に待機ボックスを追加して実行してみます。
変数「当月1日」に当月の初日が「yyyy/mm/01」形式で取得できていますね! 今回の処理は、1日の日付部分「/01」が固定の値となるため、 年と月を「yyyy/mm」形式で取得し、固定値「/01」を連結させる方法で1日の日付を取得しています。 以前紹介した [日付計算(n年後/n月後/n)] を活用して、当月の初日から任意の月の初日を取得することも可能です。 ※ [日付計算(n年後/n月後/n)] を活用した日付の取得はこちらの記事を参照してください。 → WinActor® かんたん!日付取得!!
では、応用編として前月の1日の日付を取得してみましょう。
前月の初日の日付を取得する
前月の初日を取得する流れは以下のようになります。
【流れ】
① 当月の日付を「yyyy/mm」形式で取得する ② 1日の日付に変換する ③ 前月の初日を取得する
完成シナリオはこのようになります。
続いて、設定内容を細かく見ていきましょう。 ※①②に関しては当月の初日を取得する流れと同じですので、一部説明を簡略化します。
<事前準備>
事前準備として、使用する以下の変数を作成しておきます。(初期値設定は不要です。) ・当月 ・当月1日 ・前月1日
① 当月の日付を「yyyy/mm」形式で取得する
シナリオ実行日当日の日付を「yyyy/mm」形式で取得します。 [日付取得(書式設定)] ライブラリを使用して、「yyyy/mm」形式で取得した日付を変数「当月」に格納します。
② 1日の日付に変換する
①で取得した「yyyy/mm」を初日の日付に変換します。 [文字列の連結(2つ)] ライブラリを使用して、変数「当月」(yyyy/mm)と「/01」を連結し、変数「当月1日」に格納します。 これで当月の初日は取得できました。
③ 前月の初日を取得する
②で取得した当月の初日を基準に、前月の初日を取得します。
WinActor®の左側 [ライブラリ]タブ > [08_日付関連] > [日付計算(n年後/n月後/n日後)] ライブラリを選択し、シナリオ内にドラッグ&ドロップで追加します。
シナリオ内に追加した [日付計算(n年後/n月後/n日後)] ライブラリをダブルクリックして、プロパティ画面を開きます。 以下のように詳細内容を設定します。
【設定内容】 ・基準日:変数「当月1日」 ※②で当月の初日を格納した変数 ・差分n:-1 ・単位:月後 ・結果格納先:変数「前月1日」 ※事前準備で作成した変数
以上で設定は完了です! 待機ボックスを追加して実行してみましょう。
変数「前月1日」に前月の初日が取得できていることが確認できますね。 今回は事前に当月の初日を取得してから当月の初日を基準に前月を取得する方法をとっていますが、 先に前月など任意の月を取得してから「yyyy/mm」形式に変換、「/01」と結合で取得も可能です。
シナリオ内で使用したい日付によっては、 一度 [日時取得] で本日の日付を「yyyy/mm/dd」形式で取得してから初日を取得する方がスマートになる場合もあります。 是非この記事を参考に、いろいろな日付の取得方法を試してみてください!