StudioXのアクティビティ

UiPath StudioXのExcelアクティビティ【ブック操作】

2021/06/23

Excelは本当に多機能なソフトで、プログラミングも出来れば、データベースの参照まで出来てしまいますよね。

StudoXでもこれらを扱えるよう、マクロの実行や、データを更新するアクティビティが用意されています。

他に、PDF形式やCSV形式でエクスポートするアクティビティがあるので、これらと併せて紹介しましょう。

この記事では、以下のアクティビティについて解説します。

記事編集時のStudioX - ver2022.4.0

ブック操作のアクティビティ

  • Excelのデータ接続を更新
  • スプレッドシートのマクロを実行
  • ExcelファイルをPDFとして保存
  • CSVにエクスポート

Excelのデータ接続を更新

ブック内のすべてのソースを更新して、最新のデータを取得します。(ガイドはこちら)

データベースやWebクエリなど、外部のデータと接続している表すべての情報を更新します。

Excelにある[すべて更新]の機能ですね。

対象のブックを指定する以外の項目がないので、特に具体的な解説は不要でしょう。

スプレッドシートのマクロを実行

マクロ有効ブック内で指定したマクロを実行します。(ガイドはこちら)

Excel内に作成されたマクロ(VBA)を実行します。

ここでは、以下の項目について解説します。

  • 元のブック
  • マクロ
  • 出力先
  • マクロ引数を追加

VBAで良く使う用語を使って解説しています。「開発したことないよ」と言う場合は、読み飛ばちゃってください。
おぐし

元のブック

マクロを参照する対象となるリソースを指定します。

リソースとして指定している(開いている)Excelが1つの場合は、自動的に選択されるため、特に意識する必要はありません。

複数のリソースを開いている場合は、[元のブック]の[+]から、リソースを指定しましょう。

マクロ

プロシージャ(Sub)、またはファンクション(Function)を指定します。

マクロは、スコープがPublicであってもPrivateであっても実行出来ます。

出力先

マクロの関数がファンクションの場合、返される結果を記憶するための名前を指定します。

なお、結果をStudioX上で利用しない場合は、名前を指定しなくても構いません。

マクロ引数を追加

プロシージャまたはファンクションで、必要な引数の数だけ追加します。

[マクロ引数を追加]をクリックすると、サブアクティビティが追加されるので、引数値を指定しましょう。

アクティビティの設定例

例えば、ExcelのVBAに以下のようなソースがあるとします。

これをアクティビティで実行してみましょう。

まずは答えから。

[マクロ名]には、”SampleFunc"を入力します。

値を返すファンクションのため、[出力先]を指定しましょう。

今回は[出力先]を、クリップボードにしました。

引数は、prm1とprm2の2つがあるため、[マクロ引数を追加]をクリックして、2つ追加します。

1つ目の引数(prm1)には"いろは"、2つ目(prm2)には"ABC"を指定しました。

このアクティビティを実行すると、クリップボードにはテキストで”引数1は[いろは]、引数2は[ABC]”がコピーされます。

ExcelファイルをPDFとして保存

ExcelファイルをPDFファイルとして保存します。(ガイドはこちら)

Excelを、PDF形式でエクスポートします。

ここでは、以下の項目について解説します。

  • ブック
  • [ファイルパス]と[既存のファイルを置き換える]
  • 保存品質
  • [開始ページ]と[最終ページ]

ブック

PDFで保存するリソースを指定します。

リソースとして指定している(開いている)Excelが1つの場合は、自動的に選択されるため、特に意識する必要はありません。

複数のリソースを開いている場合は、[ブック]の[+]から、リソースを指定しましょう。

[ファイルパス]と[既存のファイルを置き換える]

[ファイルパス]は、保存するファイル名を指定します。

既に同じファイル名が存在する場合、上書き可能な場合は[既存のファイルを置き換える]をチェックONに、NGならはチェックOFFにしてください。

保存品質

pdfに出力する際の品質を指定します。

  • StandardQuality
    標準サイズの出力で、オンライン掲示もしくは印刷用です。
  • MinimumQuality
    最小サイズの出力で、オンライン掲示用です。

実際には、どのような違いになるのでしょうか

文字と図形、写真をシートに貼り付けたものをPDFとして出力してみました。

アイコンクリックするとダウンロードできますので、開いてみてください。

Standard(標準) Minimum(最小)
サイズ:634KB サイズ:296KB

Minimumにすると、図形や写真の細かい部分が少しぼやけていますが、ファイルサイズが半減しています。

この差は、サイズ変更を検討する価値がありそうです。

[開始ページ]と[最終ページ]

PDFにするページ番号を指定します。

当たり前のことですが、[開始ページ]は1以上、[終了ページ]は開始ページ以上の数値にしてください。

CSVにエクスポート

指定した範囲、表、ピボットテーブルまたはシートをCSVファイルにエクスポートします。(ガイドはこちら)

表の体を成しているもの、範囲やテーブル、ピボットテーブルの値をCSVファイルに変換して保存します。

ここでは、[書き込み先ファイル]と[書き込み元]ついて解説します。

書き込み先ファイル

CSVの保存ファイル名を指定します。

もし、既に同じ名前のCSVファイル名が存在した場合は、上書き保存されます。

書き込み元

CSVデータに変換したい範囲またはテーブル、シートを指定します。

指定する対象によって文字コードが変わる

[書き込み元]にシートを指定した場合、Windowsでの標準文字コードである「Shift-JIS」で出力されます。

CSVファイルはExcelでも開けますが、特に問題なく表示されるでしょう。

しかし、範囲やテーブル、ピボットテーブルを対象とした場合、文字コードが「Unicode(UTF-8)」で保存されます。

これをExcelで開くと、いわゆる文字化け状態になります。

文字コードに詳しくないと、このまま処理を進めるのは厳しいはず。

そこで、CSVアクティビティで修正を加えるといいでしょう。

文字化けを直す

  • [CSVにエクスポート]で、書き込み先を"サンプル.csv"で保存
  • [CSVを読み込み]で、書き込み元を"サンプル.csv"に、出力先を"csv"とする
  • [CSVに書き込み]で、書き込み先を"サンプル.csv"、書き込み元を"csv"とする


青の部分(ファイル名)黄色の部分(保存する名前)が、それぞれ一致するようにアクティビティを組み立ててください。

これで、ExcelでCSVファイルを開いたときの、文字化けが解消します。

覚える必要はありませんが、[CSVに書き込み]を通すことでBOMという符号を追加しています。
おぐし

まとめ

CSVについては、正しく表示できるようにする方法を紹介しましたが、覚えておくときっと役に立つはずです。

まとめます。

まとめ

  • アクティビティで保存できるファイルの種類は、xlsx/xlsb/xlsm/xls/pdf/csvがある。
  • [CSVにエクスポート]は指定する対象によって文字コードが変わる。

この記事で、何か1つでも新しい発見が得られたのなら、僕もうれしいです。

-StudioXのアクティビティ

© 2023 おぐしログのRPA入門