StudioXのアクティビティ

UiPath StudioXのExcelアクティビティ【シート操作】

2021/06/21

Excelの大きな特徴のひとつが、1つのファイルに複数のシートを作成出来る事ですね。

例えば、月別や日別にシートを作成して管理したり、名前別にシートを作成するなど、よくあることではないでしょうか。

今回は、シートを操作するアクティビティを集めました。

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

記事編集時のStudioX - ver2021.10.5

シート操作のアクティビティ

  • 繰り返し(Excelの各シート)
  • シートを挿入
  • シートを複製
  • シート名を変更
  • シートを保護
  • シートの保護を解除
  • シートを削除
  • 範囲を並べ替え

繰り返し(Excelの各シート)

Excelブック内の各シートに対するアクションを繰り返します。(ガイドはこちら)

ブック内のシートを、最後のシートになるまで順に処理を繰り返します。

繰り返し処理の基本を押さえておきたい場合は、こちらを参考にしてください。

UiPath StudioXで繰り返し処理の基本【ループって何?な人へ】

ここでは、[繰り返し]と[ブック]について解説します。

繰り返し

現在の周回のシートを記憶する名前を指定します。

ブック内のシート名が順に"CurrentSheet"に記憶され、[ここにアクティビティをドロップ]に追加した処理(アクティビティ)を繰り返していきます。

初期値は"CurrentSheet"ですが、必要に応じて意味を表す名前に変更するといいでしょう。

ブック

リソースに指定した参照名が自動で反映されます。

また、自動で反映されたブック以外にも変更できます。

例えば、プロジェクトノートブックもExcelですよね。

そのため、[ブック]に指定することが可能ということです。

プロジェクトノートブックの参照名は、”Notes"です。

シート単位に[名前の定義]を設定した応用

Excelの[名前の定義]は、シートごとに同じ名前が設定できます。

設定方法については、「UiPath StudioXのプロジェクトノートブック2【カスタマイズ編】」を参照してください。

例えば、各シートのB1に"Name"という名前の定義を設定した場合を考えてみましょう。

[繰り返し(Excelの各シート)]アクションで、下図のように組み、Nameを取り出します。

この時、[Write Line]アクションの[Text]は、[+]-[詳細エディターを開く]を選択し、以下のように入力しています。

実行すると、出力パネルに各シートのNameが表示されます。

シートごとに同じ名前を設定する方法が分かると、色々と応用が広がりますよ。
おぐし

シートを挿入

Excelファイルにシートを挿入します。(ガイドはこちら)

新しいシートを追加します。

シートは、一番後ろ(一番右側)に追加されます。

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

  • シートを作成するブック
  • シート名
  • 新しいシートの参照名

シートを作成するブック

リソースに指定した参照名が自動で反映されます。

別の参照名にする場合は、[+]メニューから選択しましょう。

シート名

追加するシートの名前を指定します。

なお、既に同じ名前のシートを指定した場合は、何もせずスキップします

新しいシートの参照名

追加したシートを編集する場合の、参照名を指定します。

他のアクティビティを使用する際、既に存在するシート名であれば、[+]メニューのExcelやノートブックから指定できますよね。

しかし、まだ新しいシート名が作成される前なのでシートが存在せず、メニューに表示されません。

そこで、[シートを挿入]で作るシートを参照出来るようにするため、[参照名]を使うというわけです。

他のアクティビティでシートを指定する場合は、[+]メニューの[保存された値を使用]から選択します。

 

シートを複製

Excelファイル内に指定したシートのコピーを作成します。(ガイドはこちら)

同じExcelブック内で、シートをコピーします。

コピーするシートの右隣りに、コピーしたシートが追加されます。

複製するシート

コピー元のシートを指定します。

新しいシート名

コピー後の、シートの名前を指定します。

既にあるシート名と同じ名前にならないようにしてください。

もし、既に同じ名前のシートが存在する場合は、エラーになります。

シート名を変更

Excelファイル内のシート名を変更します。(ガイドはこちら)

既にあるシートの、シート名を変更します。

変更するシート

名前を変更したいシートを指定します。

例えば、自動化処理の途中で変更するシートが消えてしまうような場合は、新しいシートが作成されます。

新しいシート名

変更後のシート名を指定します。

既に同じ名前のシートがあると、エラーで処理が中断します。

シートを保護

Excel ブックのシートを保護します。(ガイドはこちら)

Excelのシートに保護を掛けて、編集にロックを掛けます。

Excelの[シートの保護]に該当する機能ですね。

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

  • シート
  • パスワード
  • 追加の権限
  • パスワード(Secure String)

シート

保護するシートを指定します。

パスワード

シートを保護する際のパスワードを入力します。

Excelで保護設定する際は、パスワードの入力は任意ですが、StudioXではパスワード入力が必須となっています。

簡易的なパスワード入力

パスワードを入力する簡易的な方法は、[パスワードモードの切り替え]をクリックして、[パスワード]のテキストボックスに直接入力する方法です。

この方法で入力すると、ボックスの右上に警告マークが表示されます。

警告の内容は、以下のとおり。

警告:UiPathはパスワードを直接入力することを推奨しません。専用のアクティビティを使用してパスワードを安全に保存/取得してください。

警告文を確認した上で、使用して問題ないか判断してください。

StudioXのプロジェクトファイルを、他の人に配布・共有しないのであれば簡易的な入力を使う、というのもひとつの考え方ですね。
おぐし

資格情報のパスワードを使用

[ユーザー名/パスワードを取得]アクションで、Windowsの資格情報またはOrchestratorに記録したパスワードを呼び出して入力する方法です。

パスワードを、よりしっかり管理する必要がある場合は、こちらの方法を使用しましょう。

追加の権限

シートの保護が掛かった状態でも、許可する操作を選択します。

Excelの[シートの保護]を呼び出したときも、許可する項目が出ますよね。これに該当する機能です。

選択できる項目と、その許可の内容は以下のとおりです。

項目名 説明(Excel上の許可名)
AllowDeletingColumns 列の削除
AllowDeletingRows 行の削除
DrawingObjects オブジェクトの編集
Scenarios シナリオの編集
AllowFiltering オートフィルターの使用
AllowFormattingCells セルの書式設定
AllowFormattingColumns 列の書式設定
AllowFormattingRows 行の書式設定
AllowInsertingColumns 列の挿入
AllowInsertingHyperlinks ハイパーリンクの挿入
AllowInsertingRows 行の挿入
AllowSorting 並べ替え
AllowUsingPivotTables ピボットテーブルとピボットグラフを使用する

パスワード(Secure String)

暗号化された状態の文字列(Secure String)を使って、パスワードを入力します。

通常の[パスワード]は、普通のテキストを入力するため、例えば、ノートブックに記入されたテキストでも指定できます。

でも、ノートブックを開いたらパスワードが見えてしまうのは本末転倒ですよね。

そこで、[パスワード(Secure String)]には、暗号化された状態のままアクティビティに指定できるというわけです。

暗号化テキスト(Secure String)を使うには、2つの方法があります。

資格情報のパスワードを使用

1つは、[ユーザー名/パスワードを取得]アクションで取得したパスワードです。

[ユーザー名/パスワードを取得]アクションで取得した値は、暗号された状態、暗号されていない状態の両方の形で値を参照できます

だから、(暗号化されていない)[パスワード]でも、[パスワード(Secure String)]でも選択できるのです。

ただ、暗号化しない状態で選択したからと言って、セキュリティ上大きな差が出るわけではありません。

あまり深く考えず、[パスワード]を使って問題ないでしょう。

引数でSecureStringを指定

もう1つは、データマネージャーの引数で、Secure Stringとして取り込む方法です。

引数の使い方については、ここでは割愛します。

端的に言えば、他のプロジェクトから、このプロジェクトに暗号化された状態でパスワードを渡す方法ですね。

シートの保護を解除

Excel ブックのシートの保護を解除します。(ガイドはこちら)

保護が掛けられたExcelのシートに対し、保護を解除します。

Excelの[シート保護の解除]に該当する機能ですね。

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

  • シート
  • パスワード
  • パスワード(Secure String)

シート

シートを解除する際のパスワードを入力します。

StudioXではパスワード入力が必須となっていますが、パスワードのかかっていない状態で保護されていても解除は可能です。

パスワードが掛かっていない状態で保護されている場合は、[パスワード]に適当な値を指定してください。("a"だけでもOK。)

簡易的なパスワード入力

パスワードを入力する簡易的な方法は、[パスワードモードの切り替え]をクリックして、[パスワード]のテキストボックスに直接入力する方法です。

この方法で入力すると、ボックスの右上に警告マークが表示されます。

警告の内容は、以下のとおり。

警告:UiPathはパスワードを直接入力することを推奨しません。専用のアクティビティを使用してパスワードを安全に保存/取得してください。

警告文を確認した上で、使用して問題ないか判断してください。

資格情報のパスワードを使用

[ユーザー名/パスワードを取得]アクションで、Windowsの資格情報またはOrchestratorに記録したパスワードを呼び出して入力する方法です。

パスワードを、よりしっかり管理する必要がある場合は、こちらの方法を使用しましょう。

パスワード(Secure String)

暗号化された状態の文字列(Secure String)を使って、パスワードを入力します。

暗号化テキスト(Secure String)を使うには、2つの方法があります。

詳細な説明は、[シートを保護]の"パスワード(Secure String)"にまとめています。

資格情報のパスワードを使用

1つは、[ユーザー名/パスワードを取得]アクションで取得したパスワードです。

引数でSecureStringを指定

もう1つは、データマネージャーの引数で、Secure Stringとして取り込む方法です。

シートを削除

Excelファイルから指定したシートを削除します。(ガイドはこちら)

指定したシートを削除します。

削除するシート

削除するシートを指定します。

もし、対象のシートが存在しない場合は何もされません

まとめ

アクティビティによって、シート名が重複するとエラーで停止したり、停止せずスキップするなど、動作が変わります。

開発中に動きを確認しながら、調整するといいでしょう。

まとめます。

まとめ

  • [繰り返し(Excelの各シート)]でブック内のシートを1つずつ指定していく。
  • [シートを挿入]と[シートを削除]は、既に同じシート名がある(既に削除されている)場合は何も起こらない。
  • [シートを複製]と[シート名を変更]は、既にシート名がある場合エラーで処理が中断する。
  • [シートを保護]と[シートの保護を解除]のパスワードには、資格情報を使う方が望ましい。

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

-StudioXのアクティビティ

© 2024 おぐしログのRPA入門