【できるUiPath】は注目のRPAサービス「UiPath」を使って、RPAのワークフローを作るための基本操作から、実際に業務をRPA化する実践テクニックまでを解説する連載です。
過去の記事一覧【できるUiPathまとめ】

レッスン35変数とインスタンス

西暦から和暦へ変更するには

業務内容によっては、西暦ではなく和暦を使うことも少なくありません。UiPath Studio上で和暦を扱うための方法を確認しておきましょう。

VB.NETの機能を活用する

レッスン13を参考にすれば「11月28日」のような表記は簡単にできますが、年に関しては工夫が必要です。

UiPath Studioでは、そのままでは和暦を扱うことができませんが、VB.NETの機能を活用することで、元号を使った和暦で年を表すことができます。

「CultureInfo」と「JapaneseCalendar」

VB.NETの「CultureInfo」と「JapaneseCalendar」を利用することで、「平成31」のような元号付きの和暦で年を表すことができます。

西暦から和暦へ変更するには(変数とインスタンス) - できるUiPath

HINT年号が変更される可能性を考慮しよう

現在の元号である「平成」は、2019年5月1日に変更されることが決定しています。それまでの間であれば、この方法で和暦を扱うことができますが、変更後は環境によって新しい元号を扱えない可能性があります。

どうしても必要な場合のみ使うようにして、通常は西暦を使う方が確実です。

HINTこのレッスンで使う変数

このレッスンでは、次の変数を使います。ワークフロー内で登場する変数の用途を確認しておきましょう。

cInfo

型:CultureInfo
用途:国を指定する情報を格納する

jaCal

型:JapaneseCalendar
用途:和暦の情報を格納する

1[変数]パネルを表示する

西暦から和暦へ変更するには(変数とインスタンス) - できるUiPath

2「cInfo」変数を定義する

西暦から和暦へ変更するには(変数とインスタンス) - できるUiPath

3型を変更する

西暦から和暦へ変更するには(変数とインスタンス) - できるUiPath

HINT似たような型に注意

手順3で、「Culture」で始まる型は複数リストアップされます。ここで指定しているのは、「mscorlib」の「System.Globalization」にある「CultureInfo」です。型を間違えないように注意しましょう。

HINTあらかじめ変数を定義しておく

UiPath Studioでは、アクティビティの画面で直接、変数を作成することができるため、必要になったタイミングで変数を作ることがよくありますが、ここでは先に変数を作成しておきます。

通常はあまり使わない型の変数なので、間違えないように設定しておきましょう。

4「jaCal」変数を定義する

西暦から和暦へ変更するには(変数とインスタンス) - できるUiPath

5型を変更する

西暦から和暦へ変更するには(変数とインスタンス) - できるUiPath

HINTSystem.Globalizationから選ぶ

ここで利用する「jaCal」変数は、「mscorlib」の「SystemGlobalization」にある「JapaneseCalendar」です。似たような型がいくつかあるので間違えないようにしましょう。

HINT西暦を和暦に変換するには

ここでは、現在の年を和暦で表示していますが、特定の日付も和暦に変換できます。変換したい日付を「System.DateTime」型の変数(例えばBirthDay)に格納してから、「BirthDay.ToString("D",cInfo)」とします。

6インスタンスを作成する

西暦から和暦へ変更するには(変数とインスタンス) - できるUiPath

7もう1つインスタンスを作成する

西暦から和暦へ変更するには(変数とインスタンス) - できるUiPath

8カレンダーの形式を和暦に設定する

西暦から和暦へ変更するには(変数とインスタンス) - できるUiPath

9年号を表示する

西暦から和暦へ変更するには(変数とインスタンス) - できるUiPath

HINT「ggyy」が「平成xx」となる

この方法を使った場合、和暦で年を表す形式は「ggyy」となります。「gg」が平成などの元号、「yy」が年を表します。

HINTcInfoを省略するとどうなる?

「DateTime.Now.ToString("ggyy",cInfo)」の最後の「,cInfo」を省略すると、「A.D.18」と表示されます。これはcInfoで日本のカレンダーの情報が指定されていないためです。

なお、西暦で表示したいときは、単に「,cInfo」を省略するだけでなく、形式も「yyyy」とする必要があります。

Point特殊な用途も工夫次第

どうしても和暦を扱わなければならないときは、このレッスンの方法を活用しましょう。UiPath Studioでは、このようにアクティビティとして提供されていない機能も、VB.NETの機能を活用することで対応できるようになっています。

VB.NETに関する情報はインターネットなどから入手できるので、特殊な用途に対応しなければならないときなどに参考にしてみるといいでしょう。

提供:UiPath

関連まとめ記事