StudioXのアクティビティ

UiPath StudioXのWordアクティビティ【テキスト操作】

2022/02/19

Wordのメインどころと言えば、やはり文書編集ですよね。

Wordの自動化では、おそらくテキストの編集が一番頻繁に使われるのではないでしょうか。

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

記事編集時のStudioX - ver2021.10.5

テキスト操作のアクティビティ

  • テキストを読み込み
  • テキストを追加
  • 文書内のテキストを置換
  • ブックマークのコンテンツを設定

Wordのブックマークとは

Wordのアクティビティを操作する上で、必要となるのが"ブックマーク"です。

本題に入る前に、まずはブックマークについて理解しておきましょう。

ブックマークの意味は"しおり"

そもそも、Wordにおける「ブックマーク」って何でしょう?

案外、知らない人が多いのではないでしょうか。

僕も、正直使ったことがありませんでした。
おぐし

ブックマークを日本語に訳すと、"しおり"ですね。

例えば長い文章の場合、好きな位置にブックマークを設定しておくと、その場所に即座にジャンプできます。

Wordにブックマークを設定する手順は、以下のとおり。

ブックマークを追加したい場所に
カーソルを移動します。
上図では、"北ニ"の前に移動しました。
[挿入]-[リンク]-[ブックマーク]をクリックします。 [ブックマーク名]に任意のテキストを入力し、
[追加]をクリックします。
ブックマークが設定されました。
設定されるとのようなマークが表示されます。

設定した後、[Ctrl + G]を押下すると、ジャンプ画面が表示されます。

これで、ブックマークの位置("北ニ"の前)へすぐにカーソルを移動できるようになりました。

紙のしおりが本の開きたいページをすぐにめくる為にあるように、ブックマークも目的の位置へすぐに移動できるようにすることが目的です。

ブックマークは文字列にも指定可能

ブックマークは、文字列にも設定できます。

例えば、"北ニケンクァ"にブックマークを指定すると、以下のようになります。

Wordアクティビティでは目印の役割

Wordアクティビティでは、本来の目的とは少し違い、ブックマークを目印として活用します。

目印とはつまり、ブックマークの位置をターゲットにして、テキスト・表・ハイパーリンク、それから画像などを挿入するわけです。

オブジェクト(テキスト、表、ハイパーリンク、グラフetc)を挿入する目印としてブックマークが使われます。

テキストを読み込み

ドキュメントからすべてのテキストを読み込みます。(ガイドはこちら)

リソースで開いたWordから、テキストを読み取ります。

[テキストを読み込み]アクションで読み取れる範囲は、本文と表です。

図(シェイプ)内のテキストは読み取れません。

ここでは、[保存先]について解説します。

保存先

読み取ったWordのテキストについて、記憶する場所を指定します。

Excelやクリップボード、名前を付けて記憶する(=後で使用するために保存)などの方法があります。

下図は、クリップボードにテキストを取り込んだ場合のサンプルです。

Wordのテキストが3行入力されており、クリップボードにはそのまま3行のテキストが取り込まれているのが分かりますね。

テキストを1行ずつに分解する

テキストが取り込まれるのはいいのですが、複数行がまとまったままだと、扱いにくいのではないでしょうか。

1行1行に分解するには、[テキストからデータテーブルを生成]アクションを利用する必要があります。

「データテーブルって何?」な人は、先にデータテーブルについて押さえおくといいですね。
おぐし

具体的に見ていきましょう。

本文のテキストを1行ずつに分ける

サンプルに、3行のテキストが入力されたWordファイルを読み込みます。

アクティビティを組み立てると、以下のようになります。

データテーブルのフォーマットで、注目すべきポイントは[改行文字]ですね。

Word内のテキストの改行は、データテーブルの[オプション]で指定する"改行"を選択しても、正しく区切られません。

改行文字を正しく認識させるためには、[プロパティ]パネルの[改行文字]から、"vbCr"と入力してください。

[区切り文字]:vbCr

データテーブルは、以下のようになります。

表を1フィールドずつに分ける

続いて、表の場合を見てみましょう。

サンプルに、3×3の表が入力されたWordファイルを読み込みます。

本文のテキスト同様、データテーブルの[オプション]を使っても区切りを表現できません。

[列区切り文字]と[改行文字]を正しく認識させるためには、[プロパティ]パネルから編集する必要があります。

[区切り文字]:vbCr & Chr(7)

[改行文字]:vbCr & Chr(7) & vbCr & Chr(7)

データテーブルは、以下のようになります。

vbCrとChr(7)は、特殊記号と呼ばれるものです。記号自体に意味はなく、「2つの特殊記号を使って列区切りや改行ということにする」と決められただけだと考えてください。

テキストを追加

現在のカレット位置でドキュメント内にテキストを書き込みます。(ガイドはこちら)

Wordの文章の最後に、指定したテキストを追加します。

ここでは、[テキスト]と[テキストの前に新しい行を追加]について解説します。

テキスト

追加するテキストを指定します。

例えば、Excelのセルから参照したり、クリップボード、直接テキストを入力(=テキスト)、予め保存されている名前を参照する方法などがあります。

テキストの前に新しい行を追加

Wordの最後に改行を挿入してからテキストを追加するか、改行せずに追加するかを指定します。

試しに、チェックON/OFFのそれぞれの状態でテキストを追加してみました。

結果は以下のとおり。

チェックON チェックOFF

文書内のテキストを置換

ドキュメント内にある全てのテキストを別のテキストに置換します。(ガイドはこちら)

Wordファイル内の指定の文字列を、別の文字列に置換します。

Wordソフトにも、置換機能がありますよね。

これと同じだと考えて構わないのですが、少し動作が異なります。

こちらの文書をサンプルに、違いを見ておきましょう。

ひらがな、全角カタカナ、半角カタカナの"あいうえお"を用意し、「あいうえお」→「かきくけこ」に置換します。

Wordソフトの置換 StudioXの置換

Wordソフトの置換では、3行とも置換されました。

対して、StudioXでは、"あいうえお"のみが置換されます。

Wordのオプションにある、[あいまい検索(日)]をチェックOFFにすれば、StudioXと同じ結果になります。

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

  • [次を検索]と[次で置換]
  • 全て置換
  • 結果

[次を検索]と[次で置換]

[次を置換]には、置換する対象となるテキストを指定します。

[次で置換]には、置換後のテキストを指定します。

全て置換

チェックONにすると、[次を検索]と一致するテキスト全てが置換対象となります。

チェックOFFの場合は、最初に見つかったテキストのみ置換します。

結果

置換する対象があったかどうかについて、結果を記憶する場所を指定します。

1か所でも置換できたらTrue、置換するものがない場合はFalseとなります。

ブックマークのコンテンツを設定

ドキュメントのブックマーク内にテキストを設定します。(ガイドはこちら)

Wordに設定されているブックマークの箇所に、指定の文字列を追加します。

Wordにおけるブックマークについては、「Wordのブックマークとは」を参照ください。

ここでは、[ブックマーク名]と[ブックマークテキスト]について解説します。

[ブックマーク名]と[ブックマークテキスト]

[ブックマーク名]は、文字列を追加したい位置のブックマークを指定します。

[ブックマークテキスト]は、追加する文字列を指定します。

なお、ブックマークの指定によって、文字列の追加に違いがあります。

ブックマークがカーソル位置の場合は、その後ろに文字列を追加します。

ブックマークが文字列に設定されている場合は、ブックマーク内の文字列が置換されますね。

カーソル位置にブックマーク 文字列にブックマーク

文字列にブックマークを指定した場合、実行後に文字列と一緒にブックマークが解除されるので注意してください。

まとめ

テキストを追加・置換するアクティビティは、それぞれに特徴があるので、実際に使ってみて動作の違いを理解しておくといいでしょう。

中でも、ブックマークを利用した編集方法はなかなかユニークでしたよね。

まとめます。

まとめ

  • [テキストを読み込み]で行ごとに分割するにはデータテーブルが必要。
  • 本文の途中にテキストを追加する方法は、[文書内のテキストを置換]と[ブックマークのコンテンツを設定]の2つがある。

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

-StudioXのアクティビティ

© 2023 おぐしログのRPA入門