#はじめに
この記事はUiPath AdventCalender21日目の記事です。
https://qiita.com/advent-calendar/2021/uipath
##本記事に関して
UiPath Marketplaceで公開されているBalaReva Excel Activitiesを使い、Excelのハイパーリンクを取得する方法をご紹介します。
#はじめに
会社でSharepoint上の資料をExcel上でハイパーリンクを使って管理しているものがあり、ある時その資料のハイパーリンクだけを取得し出来ないかなと思いました。
しかしハイパーリンクは表示名が「PPTX」や「Word」のように変更しており、デフォルトのExcelアクティビティでは埋め込まれているリンクを取得は出来なさそうでした。(私には出来ませんでした。。)
そこでグーグル先生にお伺いしたところ、BalaReva Excel Activitiesがヒットし、無事解決したので今日はその使い方を紹介します。
#BalaReva Excel Activitiesとは
UiPath Studioで利用可能なActivityが含まれているパッケージで、Excel操作が簡単に出来ます。
2021年12月21日時点ではバージョン2021.0.0が出ており、先日リリースされた2021.10にも対応したバージョンになっているようです。
詳細はUiPath Marketplaceで確認が出来ます。
##特徴
特徴としては、デフォルトのExcelアクティビティとは異なり、セルの場所(A1など)を指定してデータの追加や取得が出来ます。
そのため、Data Table型の変数に慣れていないUiPath初心者の方には使いやすいツールかと思います。
#使ってみる
今回は以下のExcelを取り込み、UiPath Orchestratorの右隣に埋め込まれているハイパーリンクを開くワークフローを作成します。
早速「パッケージを管理」からインストールして、まずはMainから「Excel Scope」アクティビティをダブルクリックし、追加します。
「Excel Scope」を追加したら、読み込みたいExcelファイルを選択します。
###「Find」アクティビティの説明
次に、UiPath Orchestratorのセルの位置を探していきます。
ただし、今回はExcelアクティビティではおなじみの「繰り返し(各行)」は使用せず、BalaReva Excel Activitiesの「Find」を使用していきます。
「Find」をざっくりと説明しますと、このアクティビティでは指定の文字を指定すると、その文字を含んだセルの場所(例:A4など)を出力してくれます。
今回はこちらを使用してUiPath Orchestratorのセルの位置(A4)を取得していきます。
「Find」を追加したら、まずはプロパティを以下の様に編集していきます。
「Find Text」では探したい文字列を入力します。今回の場合、「UiPath Orchestrator」を指定します。
また「Output」ではセルの位置がString.Array型で出力されます。
###「Get Hyperlink」アクティビティの説明
その次は「Find」で出力したセルの隣にあるリンクを取得します。
ハイパーリンクの取得には、HyperLinksの下にある「Get Hyperlink」を使用します。
このアクティビティでは名前の通り、ハイパーリンクされているURLを取得することが出来ます。
こちらも追加したら、プロパティを編集します。
「Cell」ではハイパーリンクを取得したいセルの位置を指定します。
その為、事前に「Find」を使用してハイパーリンクを取得したいセルの位置を特定する必要があります。
今回ハイパーリンクはB列にあるので、「Find」で取得した値"A4"を"B4"に置き換えていきます。
またAddressではハイパーリンクされたURLが出力されます。
こちらはString型で出力されます。
以上でハイパーリンクの取得は完了です。
最後に「ブラウザーを開く」を追加します。
ワークフローを実行し、無事UiPath Orchestratorの公式ページが開かれることを確認します。
#まとめ
今回はBalaReva Excel Activitiesを使い、Excelのハイパーリンクを取得しました。
デフォルトのExcelアクティビティでは少し難しかったりする作業もこのツールを使えば簡単に実現できます。
またBalaReva Excel ActivitiesはYoutubeで各アクティビティの使い方を説明しているので、こちらも参照するとより理解が深まるかと思います。
https://www.youtube.com/playlist?list=PLf3RLhpy4LJBfGRCjUJASRZAjdF5DZ5No