日付・時刻の取得. © Copyright 2020 UiPathでRPAを始めよう. データのフィルタなど、年月日を使うことがあります。UiPathではVB.NET関数をサポートしており、種々の書式での出力が可能です。UiPathはシステムが持っている変数を使えます。日時に関わるものはDateTimeに属します。System DataTableから重複を削除する. 2018/05/09 . 前回 UiPathデータ操作編② 文字列操作方法 業務を自動化する際には、メールを作成したり、ログに残したりするためにはあらゆるデータを組み合わせてテキストを作成する必要があります。 今回は、出力データの加工方法で以下の3つについて... UiPathで扱う複数データの種類 UiPathでは複数データを格納することができる変数がいくつかあります。今回は以下の3つについて説明したいと思います。 Array(配列)List(リスト)Dictionary(ディクショ... UiPathでは複数データを格納することができる変数がいくつかあります。 今回はDictionary(ディクショナリ、ハッシュテーブル)変数の使い方についてのご紹介します Dictionaryとは Diction... 文字列操作でよく使うStringメソッド 前回 UiPathデータ操作編① 複数のデータ操作について UiPathで文字列操作を行うときによく使うStringメソッドについて以下の8つの使い方について説明します。 Rep... item("名前").ToString + "," + item("値段").ToString, item(0).ToString + “,” + item(1).ToString. プロパティに出力するファイルを指定します。対象のファイルが存在しない場合は新たにファイルを作成します。. DataTableを作成する. 日付の取得はVB.NetのDateTime構造体より取得することができます。 Assignアクティビティを使用し、Nowプロパティにより現在日時を取得し、ToStringで指定の書式に変換 … 配列は同じ型の集まりですが、データテーブルは複数の型を同じテーブル内に持つことが可能です。 UiPathにおけるエクセルやCSVの自動化では、基本的に「DataTable」型のデータを操作することが多いため、事前にデータテーブルの操作を理解しておくとスムーズに開発できると思います。 データテーブルを取得するアクティビティです。. ・AddMinutes:分を計算する DataTableに列を追加する. ・AddSeconds:秒を計算する, 「AddDays」は、「Add」という言葉が使われていますが、足し算だけでなく引き算もできます。「AddDays(-1)」と負の数を指定すれば、指定した日数前の日付を表示できます。, 請求処理などでは、前月の末尾を日付として扱うことがよくあります。このような日付も、発想を少し工夫することで指定が可能です。, 「前月の末日」は、発想を変えて考えると、「今月の1日の1日前」といえます。これを表したのが手順2で記入した処理です。長いので2つに分解して見てみましょう。, まず、「New DateTime(DateTime.Now.Year, DateTime.Now.Month, 1)」は、最後の「1」から分かるように現在の年、月の1日(最初の日)を指定しています。この構文に対して、「AddDays(-1)」を指定しているので、1日前、つまり前月の末日を指定できます。最後に、これで取得できた日時の情報をToString("yyyy/MM/dd")で、指定した形式の文字列にしています。, レッスンでは「yyyy/MM/dd」や「hh:mm:ss」といった基本的な形式を紹介しましたが、これ以外にも日時を表す文字の組み合わせがあります。年や月を単独で指定できるのはもちろん、「ddd」や「dddd」で曜日を表示したり、大文字の「HH」で時刻を24時間形式で表示できます。ワークフローの中で、どのような情報が必要かによって、これらの形式を使い分けましょう。, 一般的には、「2018/10/21」と「/」で日付を区切ったり、「11:56:30」と「:」で時刻を区切るのが一般的ですが、これらの文字は任意のものに置き換えられます。例えば、「yyyy年MM月dd日(ddd)」と指定すると、「2018年10月21日(Sun)」と表示できます。, なお、ここでは、構文で使われるかっこと曜日を囲むかっこを区別できるようにするために、曜日のかっこを全角にしましたが、きちんと「""」で囲まれていれば、曜日の表示に半角のかっこを使っても問題ありません。, 日時は、普段の業務を自動化する際に欠かせない情報の1つです。ログとして情報を残したり、請求書の日付として使ったり、データの取得日を指定したり、タイムスタンプとして使ったりと、いろいろな活用ができます。単に表示するだけでなく、必要な情報をどのように取り出すか、どうやって計算するかを覚えておくと、いろいろなワークフローで活用できるでしょう。, 1971年東京都出身。雑誌やWeb媒体を中心にOSやネットワーク、サーバー関連の記事を数多く執筆するフリーライター。INTERNET Watchにてネットワーク関連の話題を扱う『イニシャルB』を連載中。著書に『できるWindows 10 改訂4版』(共著)など多数。. 【できるUiPathまとめ】注目のRPA 製品「UiPath」の概要や基本的な使い方がわかる!. データのフィルタなど、年月日を使うことがあります。UiPathではVB.NET関数をサポートしており、種々の書式での出力が可能です。, UiPathはシステムが持っている変数を使えます。日時に関わるものはDateTimeに属します。, UiPathでシステムを動かす場合、日付を文字列として入力する場合が多いので。たとえば、2019-09-09の形式としたい場合System.DateTime.Now.ToString("yyyy-MM-dd")と設定します。以下の, *定期券などで見られる有効期限などは、たとえば1か月定期は1か月後同日ではないため**ACCESSなどでは、たとえば3月1日から3月末日までの抽出を3月1日~4月0日と設定することで達成できます。この表現の利点は、月日数によって日数が変化なく、月ごとの場合分け等が不要なことです。なお、この手法が通用しないソフトもあるため注意が必要です。, 先日末日の取得は、まず今月1日を取得してそこから1日前日を指定してやればできます。少し長くなりますが下の様に記載しますSystem.Datetime.parse(System.DateTime.Now.ToString("yyyy/MM/")&"01").AddDays(-1).ToString("yyyy-MM-dd"), 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。, 某企業機械系技術者 博士(工学) 機械設計技術者1級 QC検定2級 X線作業主任者 専門知識:金属材料強度学・真空技術・電子ビーム穴あけ・RPA. ・AddYears:年を計算する 既存のデータテーブルから同じ構造のデータテーブルを作成する. 2018/05/09 . UiPathは学習環境が豊富にあったが、それでも翻訳やサイトの問題があったため、自身で情報発信することを決意。. この記事ではその使い方を紹介します。 過去の記事一覧【できるUiPathまとめ】, [DateTime]をさらに活用してみましょう。日時を指定した形式で表示したり、日時から特定の情報だけを取得したりすることもできます。, 業務を自動化するときは、単純に日時を得るだけでなく、それを必要な形式に変更したり、必要な情報だけを取り出す必要があります。ここでは、日時のデータの基本的な扱い方を紹介します。, 「DateTime.Now.ToString("yyyy/MM/dd")」のようにすると、日時を指定した形式の文字列として取り出せます。, 日時の情報から時刻だけを取り出すこともできます。「"hh:mm:ss"]と表示したい形式を指定しましょう。, [AddDays]で日付を足したり、ちょっとした工夫で前月末を取得したりと、日付の計算もできます。, このレッスンで紹介する方法は、見積もり作成ソフトで日付を選択したり、カレンダーアプリで日付を選択したりするなど、日付を扱うワークフローを作成するときに便利です。, このレッスンでは、次の変数を使います。ワークフロー内で登場する変数の用途を確認しておきましょう。, 日付と時刻の両方が含まれた[DateTime.Now]から、日付だけを指定して取り出しましょう。形式を指定することで、欲しい情報だけを表示できます。, 「2018/10/21」のように「年/月/日」で並ぶ形式で表示したいときは、手順2のように「.ToString("yyyy/MM/dd")」と形式を指定する必要があります。もしも、海外で一般的な「月/日/年(10/21/2018)」のような形式で表示したいときは、単に「.ToShortDateString」と指定して日付を取り出しましょう。, なお、「.ToLongDateString」と指定すると、「Sunday, 21October 2018」のような長い形式で表示できます。, 日時を表すフォーマットでは、「m」の扱いに注意が必要です。ここで指定した月を表す場合は、必ず大文字の「M」を指定します。小文字の「m」は時刻の分を表すためのものなので、間違えないように注意しましょう。, ここでは、「yyyy/MM/dd」と年、月、日をすべて指定しましたが、「ToString("dd")」と指定することで、日付だけを取り出せます。例えば、Webアプリで今日の日付をクリックしたいときなどは、この方法で日付を取得して、クリック先を指定できます。, 続いて、時刻だけを取り出します。日付のときと同様に「.ToString("hh:mm:ss")と形式を指定します。「""」内の違いに注意して実行してみましょう。, 日付のときは、形式に注意する必要がありましたが、時刻の場合は地域による表記の違いがほとんどないため、よりシンプルな方法で時刻を取得できます。「.ToShortTimeString(時と分のみ)」や「.ToLongTimeString(秒まで表示)」と指定して結果を確認しましょう。, 形式を指定して時刻を取得する際は、必ず「m」を小文字で表記します。大文字にすると、前で解説した月と判断されるため、「時:月:秒」と表示されます。, ログファイルを出力するワークフローを作成するときなどは、取得した日時をファイル名に使用できます。ただし、日時に含まれる「/」や「:」はファイル名として使えないため、「"yyyyMMdd"」や「"hhmmss"」のように「/」や「:」を抜いた形式で指定します。, 作成するワークフローによっては、今日から指定した日数後の日付を取得したいことがあります。そこで、日付を計算する方法を見てみましょう。, ここでは、日付を計算するための「AddDays」を使いましたが、このほか、次の方法で日付以外を計算できます。, ・AddMonths:月を計算する

Selectした内容をデータテーブルにいれる Copyright © 2019-2020 みっどないとぱーぷる All Rights Reserved. 前回 UiPathデータ操作編③ 出力データの加工方法 DataTableとは DataTableとは、Excelの表やWebの表、CSVデータなど表(テーブル)形式のデータのことを言います。ExcelをやCSVファイルを読み込んで、データを転記したりなど業務を自動化する際にはよく使いますので、覚えておくと便利です。 業務プロセスの自動化がとても簡単にできることに衝撃を受けるが、開発ツールの情報はほとんど英語であり試行錯誤して開発を進めることに。 UiPath初心者です。 日付でフィルタリングをしたいのですが、できずに困っています。 やりたいことは、Excel上のデータに対して日付(正確には日付+時刻のデータ)で フィルタをかけて、別のExcelシートに抽出するということをしたいです。 「DataTable」は、エクセルやデータベースのように行と列で構成された複数のデータの集まりです。 複数のデータの中から、対象としたデータを容易に操作することができます。, 配列は同じ型の集まりですが、データテーブルは複数の型を同じテーブル内に持つことが可能です。 UiPathにおけるエクセルやCSVの自動化では、基本的に「DataTable」型のデータを操作することが多いため、事前にデータテーブルの操作を理解しておくとスムーズに開発できると思います。, 「Build Data Table」アクティビティを使用することにより簡単にテーブルを作成することができます。 このアクティビティを配置後、「DataTable…」をクリックすると以下のような画面になります。, デフォルトでは「2つの列」と「2つの行」があり、「Column1(String)」や「Column2(Int32)」が列名、その下に表示される「text」や「1」が行(レコード)です。 画面に配置されている「×」ボタンを押すと行や列を削除することができ、「+」ボタンを押すと列を追加することができます。, Point「Assign」アクティビティを使用して、右辺を「New Data Table」とし新規にDataTableを作成することもできます。この場合、列や行はひとつずつ追加していく必要があります。, 左上に表示されている「+」(Add Column)をクリックすると列の詳細設定画面が開きます。, ここで列の内容を設定し「OK」とすることで新規の列が右側に追加されます。 なお設定画面の一部が隠れている場合がありますので、その場合は画面右下でウインドウサイズを変更しましょう。, 列名やデータ型は修正できないようですので、間違えてしまった場合は削除後に再作成しましょう。, Tabキーでカーソルが遷移し、最終カラムでTabキーを押すと自動的に新規行が追加されます。最終行が全て空白であれば、UiPath側で自動的に不要行と判定してくれます。 なお「列で指定した型」と「行で入力した型」が異なる場合や、値が空であることを許可されていない場合など、入力値が不正の場合は入力枠が赤くなりエラーであることを教えてくれます。, 通常の変数と同様に「Assign」アクティビティや、データテーブル用のアクティビティを使用することにより、行、列を後から追加したり、データの値を変更することが可能です。, 「data(0)(0)」=「”変更したい値”」のように指定することでデータを上書きできます。 1つ目の括弧が行の位置を表し、2つ目の括弧が列を表しています。, 「Add data row」アクティビティを使用することにより、新規にレコードを追加できます。, 「{”リンゴ”,”ゴリラ”,”ラッパ”}」のように配列の形で値を指定し新規にレコードを追加します。 データテーブルの列数と配列の要素数は合わせる必要はありませんが、「データテーブルで指定している型」と「配列の型」はそろえる必要があるのでご注意ください。, 「.NewRow」でテーブルに新しいレコードを作成後に、対象列を指定して値を格納します。, Assign rows(0)=”台湾語”←カッコ内は対象列。左記の例だと1列目に挿入, 「Add data column」アクティビティを使用して指定した列を追加することができます。 また各プロパティで、最大文字数や空を許可するかなどの指定が可能です。, 「New DataColumn」で新しい列を作成後に、列の名称を設定し追加します。, 「Remove data column」アクティビティを使用して列の削除を行います。, 「Clear DataTable」アクティビティを使いテーブル自体は残したまま、テーブル全体の値をクリアすることができます。, 次のように設定することでメッセージボックスで表示できます。 データの変更と同じように1つ目の括弧が行を表し、2つ目の括弧が列を表しています。 「data(0)(0).ToString」, DataTable型のデータはCSVやエクセルとの相性がよく、テーブル全体を簡単に出力できます。, ファイルパスと作成したデータテーブルを指定するだけでCSVファイルに出力できます。, 仕事でRPAに出会いUiPathを知る。 DataTableに行を追加する. All rights reserved. UiPath Studio(ユーアイパススタジオ)の[DateTime]をさらに活用して、より便利なRPA(アールピーエー)化を行いましょう。日時を指定した形式で表示したり、日時から特定の情報だけを取得したりすることもできます。, 【できるUiPath】は注目のRPAサービス「UiPath」を使って、RPAのワークフローを作るための基本操作から、実際に業務をRPA化する実践テクニックまでを解説する連載です。 2020年10月9日 「構造化データを抽出」はUiPathでWebサイトの表(TABLEタグ)から. DataTableに行を追加する. UiPath Studio(ユーアイパススタジオ)の[DateTime]をさらに活用して、より便利なRPA(アールピーエー)化を行いましょう。日時を指定した形式で表示したり、日時から特定の情報だけを取得したりすることもできます。 データのフィルタなど、年月日を使うことがあります。UiPathではVB.NET関数をサポートしており、種々の書式での出力が可能です。UiPathはシステムが持っている変数を使えます。日時に関わるものはDateTimeに属します。System 日付・時刻の取得. DataTableとは、Excelの表やWebの表、CSVデータなど表(テーブル)形式のデータのことを言います。ExcelをやCSVファイルを読み込んで、データを転記したりなど業務を自動化する際にはよく使いますので、覚えておくと便利です。, まず、UiPathでDataTableを作成する方法を説明したいと思います。以下の表のDataTableを作成してみましょう。, UiPathのMain画面でシーケンスを配置して、変数一覧でdt_fruitという変数を作成します。変数の型は型の参照から「型の名前」入力欄にDataTableと入力し、System.Data.DataTable型を選択してください。, 変数の作成が完了したら、データテーブルの構築を配置します。アクティビティ検索欄に「データテーブルの構築」と」入力するかプログラミング -> データテーブル -> データテーブルの構築から配置してください。, クリックすると、データテーブルを構築という画面が表示されます。ここで、先ほどの表と同じになるようにデータテーブルの設定を行います。, まず、列を変更しましょう。列名の枠の右下にペンマークがあるので、そこをクリックすると列の編集を行えます。, 最初に名前を入力する列を編集します。Column1のペンマークをクリックしてください。列の名前を「名前」に変更してください。データ型は文字列を入力するため、初期値のStringで大丈夫です。, 次に値段を入力する列を編集します。Column2のペンマークをクリックしてください。列の名前を「値段」に変更してください。こちらもデータ型は数値を入力するため、初期値のInt32で大丈夫です。, 後は先ほどの表と同じになるようにデータを入力してください。入力していくと、行は自動で追加されます。, 行の追加ボタンはありませんが 3行目については2行目まで入力していくと自動で新しく行を追加してくれます。削除したい場合は左側の×ボタンをクリックしてください。, データテーブルの構築を選択している状態で、右側のプロパティ欄の「出力」に先ほど作成した変数のdt_fruitを入力します。, DataTable型は1行を書き込みで中身を出力することが出来ないためデータテーブルを出力を使用します。アクティビティ検索欄に「データテーブルを出力」と入力するかプログラミング -> データテーブル -> データテーブルを出力から配置してください。, 配置が完了したら、右側のプロパティ欄で「入力」にdt_fruitと入力し、「出力」に Ctrl + K を押してfruitdataと入力して変数を新規作成してください。, これでDataTable型のdt_fruitの中身がString型のfruitdataに変換されます。fruitdataはString型なので1行を書き込みで出力が可能です。, 1行を書き込みを配置して、fruitdataを入力してください。お気に入りから配置するかプログラミング -> デバッグ -> 1行を書き込みから配置してください。, 次はExcel,CSVから読み込みDataTableを作成する方法について説明します。最初はExcelから読み込む方法について説明します。, まずはExcelファイルを作成します。Excelを立ち上げて表と同じように入力をしてください。入力が完了したらファイル名をfruit.xlsxで保存してください。, 先ほど使用したデータテーブルの構築を削除し、Excelアプリケーションスコープを配置します。アクティビティ検索欄に「Excelアプリケーションスコープ」と入力するかアプリの統合 -> Excel -> Excelアプリケーションスコープから配置してください。, アプリの統合は 最新のComunity Edtionではアプリの連携になっています。 Versiton: Studio 2019.12.0-beta.61 – 2019/12/16 Community License, 配置が完了したら、...をクリックし、作成したfruit.xlsxファイルを選択してください。, ファイルを選択したら実行内に範囲を読み込みを配置します。アクティビティ検索欄に「範囲を読み込み」と入力するかアプリの統合 -> Excel -> 範囲を読み込みから配置してください。, 配置が完了したら、右側のプロパティ欄の「出力」にdt_fruitを入力してください。, 今回は、デフォルトのままで特に設定することはありませんが、プロパティの「入力」に実際に読み込むファイルのシート名と範囲を入力してください。範囲は表の先頭のセルを指定してください(今回であれば”A1″), まず、先ほど出力画面から名前,値段の行を選択し Ctrl + C を押すか右クリックし、コピーをしてください。, 次にデスクトップ画面で右クリックをし、新規作成 -> テキストドキュメントを選択し、ファイル名をfruit.csvで作成してください。作成したら、ファイルを右クリックし、プロフラムから開く -> メモ帳を選択してください。メモ帳の画面が表示されたら先ほどコピーした出力値を貼り付けてください。, 先ほど使用したExcelアプリケーションスコープを削除し、を削除し、CSVを読み込むを配置します。アクティビティ検索欄に「CSVを読み込む」と入力するかアプリの統合 -> CSV -> CSVを読み込みから配置してください。, 配置が完了したら、右下の...をクリックし、作成したfruit.csvファイルを選択してください。, ファイルを選択したら、右側のプロパティ欄の「エンコーディング」に"shift-jis"と入力し、「出力」にdt_fruitを入力してください。, 最新のComunity Edtionでは以下のようになっています。 Version: Studio 2019.12.0-beta.61 – 2019/12/16 Community License, プロパティ欄の「エンコーディング」の設定が読み込むファイルの文字コードと違うと出力値が文字化けしてしまいます。“shift-jis”で文字化けしてしまう場合は、未記入で実行してみてください。, 特定の列を抽出する際には、繰り返し(各行)を使用します。繰り返し(各行)をシーケンス内の一番最後に配置してください。アクティビティ検索欄に「繰り返し(各行)」と入力するかプログラミング -> データテーブル -> 繰り返し(各行)から配置してください。, 次にBody内に1行を書き込みを配置して、row.Item("名前").ToStringと入力します。, row.Item("名前").ToStringについては以下を参考にしてください。, 繰り返し(各行)ではrow(0)~row(2)までの処理を繰り返しています。 DataTableでは行をrow、列をItemで指定をします。 Itemは列名とインデックス値の両方で指定をすることが可能です。, 最後の3行は名前の列だけを取得できています。row.Item(0).ToStringでも同じ値を取得できます。, このように特定の列のデータを抽出する際には、繰り返し(各行)を使用して、row.Item()で列を指定して抽出します。, ExcelなどでA列の値が~以上のものを抽出するなど条件と一致するデータを抽出することは業務上多いと思います。ここではそういった条件と一致するデータの抽出でSelect文を使用した方法について説明します。今回は値段が100以上のデータを抽出したいと思います。, 先ほど、配置した繰り返し(各行)はここでは使用しないため削除してください。削除をしたらシーケンス内の最後に代入を配置してください。デフォルトではお気に入りにあるので、そこから配置してください。お気に入りにない方は、ワークフロー -> 制御 -> 代入から配置してください。, 配置が完了したら、代入の右側にdt_fruit.Select("値段 >= 100")と入力します。, 左側には Ctrl + K を押して、select_rowsと入力し、新しく変数を作成します。, 変数一覧から、select_rows -> 変数の型 -> Array of -> 型の参照で「DataRow」と入力してSystem.Data.DataRowを選択してください。, 次に代入の下に繰り返し (コレクションの各要素)を配置してください。アクティテビィ検索欄に「繰り返し (コレクションの各要素)」と入力するかワークフロー -> コントロール -> 繰り返し (コレクションの各要素)から配置してください。, 配置が完了したら、「コレクション」に先ほど作成したselect_rowsを入力してください。, 最後に本体内に、1行を書き込みを配置し、item("名前").ToString + "," + item("値段").ToStringと入力してください。, item(0).ToString + “,” + item(1).ToStringでも同じ結果になります。, “値段 >= 100″の条件に合うデータを抽出できました。Select文を使用してデータを抽出する際は、配列(Array of)のDataRow型に格納することで値を取得することが出来ます。, DataTableはUiPathを使う際には、必ずと言っていいほど使用する機会が多いです。DataTableの操作で便利な機能などは今後詳しく説明したいと思います。今回でUiPathデータ操作編は終了します。次回からはレコーディング機能編になります。, 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。, 現在RPAエンジニアとして働いています。 趣味:ダーツ、音楽、読書、読書 経験言語:Python/VBA/VBS/VB.Net その他:Maya/Photoshop. All rights reserved. DataTableから重複を削除する. 日付の取得はVB.NetのDateTime構造体より取得することができます。 Assignアクティビティを使用し、Nowプロパティにより現在日時を取得し、ToStringで指定の書式に変 … Datatableの列名を取得する. ・AddHours:時を計算する 既存のデータテーブルから同じ構造のデータテーブルを作成する. 前回 UiPathデータ操作編③ 出力データの加工方法 DataTableとは DataTableとは、Excelの表やWebの表、CSVデータなど表(テーブル)形式のデータのことを言います。ExcelをやCSVファイルを読み込んで、データを転記したりなど業務を自動化する際にはよく使いますので、覚えておくと便利です。 Copyright ©document.write(new Date().getFullYear()); Impress Corporation.